<SEC-DOCUMENT>0001017303-22-000014.txt : 20220324
<SEC-HEADER>0001017303-22-000014.hdr.sgml : 20220324
<ACCEPTANCE-DATETIME>20220324145903
ACCESSION NUMBER:		0001017303-22-000014
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		90
CONFORMED PERIOD OF REPORT:	20211231
FILED AS OF DATE:		20220324
DATE AS OF CHANGE:		20220324

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			TRANSACT TECHNOLOGIES INC
		CENTRAL INDEX KEY:			0001017303
		STANDARD INDUSTRIAL CLASSIFICATION:	COMPUTER PERIPHERAL EQUIPMENT, NEC [3577]
		IRS NUMBER:				061456680
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-21121
		FILM NUMBER:		22766205

	BUSINESS ADDRESS:	
		STREET 1:		ONE HAMDEN CENTER
		STREET 2:		2319 WHITNEY AVENUE, SUITE 3B
		CITY:			HAMDEN
		STATE:			CT
		ZIP:			06518
		BUSINESS PHONE:		203-859-6800

	MAIL ADDRESS:	
		STREET 1:		ONE HAMDEN CENTER
		STREET 2:		2319 WHITNEY AVENUE, SUITE 3B
		CITY:			HAMDEN
		STATE:			CT
		ZIP:			06518
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>form10k2021.htm
<DESCRIPTION>FORM 10K FOR THE YEAR ENDED DECEMBER 31, 2021
<TEXT>
<XBRL>
<html 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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31" xmlns:dei="http://xbrl.sec.gov/dei/2021q4" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:country="http://xbrl.sec.gov/country/2021" xmlns:currency="http://xbrl.sec.gov/currency/2021" xmlns:naics="http://xbrl.sec.gov/naics/2021" xmlns:sic="http://xbrl.sec.gov/sic/2021" xmlns:stpr="http://xbrl.sec.gov/stpr/2021" xmlns:exch="http://xbrl.sec.gov/exch/2021" xmlns:srt="http://fasb.org/srt/2021-01-31" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:tact="http://transact-tech.com/20211231" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title></title>
    <!-- Licensed to: TransAct Technologies
         Document created using EDGARfilings PROfile 8.1.1.0
         Copyright 1995 - 2022 Broadridge -->
    <meta http-equiv="Content-Type" content="text/html" />
</head>

<body style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; ">
<div id="DSPFiXBRLHidden" style="display: none;"><ix:header><ix:hidden><ix:nonNumeric name="dei:AmendmentFlag" id="Fact_ffa7a4e04ace44cb9efb634a1c9753bb" contextRef="c20210101to20211231" format="ixt:booleanfalse">false</ix:nonNumeric><ix:nonNumeric name="dei:CurrentFiscalYearEndDate" id="Fact_c01b39563da347088761db721d01eb77" contextRef="c20210101to20211231" format="ixt:datemonthday">12-31</ix:nonNumeric><ix:nonNumeric name="dei:DocumentFiscalYearFocus" id="Fact_bc862c9996254c50b5519b236aa9dccf" contextRef="c20210101to20211231">2021</ix:nonNumeric><ix:nonNumeric name="dei:DocumentFiscalPeriodFocus" id="Fact_6e4861eef3894411846866dff14dc9d3" contextRef="c20210101to20211231">FY</ix:nonNumeric><ix:nonNumeric name="dei:EntityCentralIndexKey" id="Fact_9f6272f221ba4cc1b4401640ec30f61a" contextRef="c20210101to20211231">0001017303</ix:nonNumeric><ix:nonNumeric name="us-gaap:LesseeOperatingLeaseRenewalTerm" id="Fact_0a53edda34ca481aa7934ea4ab7d186a" contextRef="c20211231_PropertyPlantAndEquipmentByTypeAxis_BuildingMember">P4Y</ix:nonNumeric><ix:nonNumeric name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="Fact_0fb767fdbb19460d8f1b18e429c9fbeb" contextRef="c20211231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20230101Member">P12M</ix:nonNumeric><ix:nonNumeric name="dei:AuditorFirmId" id="Fact_5e122460796c4895bd008c99bd8b8564" contextRef="c20210101to20211231">688</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:href="tact-20211231.xsd" xlink:type="simple"></link:schemaRef></ix:references><ix:resources><xbrli:context id="c20210101to20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20220228"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-02-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20201231_StatementClassOfStockAxis_SeriesAPreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_StatementClassOfStockAxis_SeriesAPreferredStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20191231_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20191231_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20191231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20191231_StatementEquityComponentsAxis_TreasuryStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20191231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_StatementEquityComponentsAxis_TreasuryStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</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="c20200101to20201231_StatementEquityComponentsAxis_TreasuryStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20211231_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20211231_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20201231_StatementEquityComponentsAxis_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20211231_StatementEquityComponentsAxis_TreasuryStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20201231_StatementEquityComponentsAxis_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20201231_StatementEquityComponentsAxis_TreasuryStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20201016to20201016"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-10-16</xbrli:startDate><xbrli:endDate>2020-10-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210816to20210816"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-08-16</xbrli:startDate><xbrli:endDate>2021-08-16</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200501_DebtInstrumentAxis_PaycheckProtectionProgramLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:PaycheckProtectionProgramLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-05-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-13</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</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="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</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="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</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="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</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="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_ToolsDiesAndMoldsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ToolsDiesAndMoldsMember</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="c20200228to20200228_PropertyPlantAndEquipmentByTypeAxis_BuildingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-02-28</xbrli:startDate><xbrli:endDate>2020-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210420to20210420_PropertyPlantAndEquipmentByTypeAxis_FacilityInHamdenConnecticutMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FacilityInHamdenConnecticutMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-20</xbrli:startDate><xbrli:endDate>2021-04-20</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20211231_RangeAxis_MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_PropertyPlantAndEquipmentByTypeAxis_BuildingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</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="c20200101to20201231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_ProductOrServiceAxis_CasinoAndGamingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_ProductOrServiceAxis_LotteryMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:LotteryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_ProductOrServiceAxis_TransactServicesGroupMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_ProductOrServiceAxis_FoodServiceTechnologyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</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="c20210101to20211231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</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="c20200101to20201231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:LotteryMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</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="c20210101to20211231_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</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="c20210101to20211231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</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="c20210101to20211231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</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="c20200101to20201231_ProductOrServiceAxis_PrintrexMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_ProductOrServiceAxis_PrintrexMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</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="c20200101to20201231_ProductOrServiceAxis_FoodServiceTechnologyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</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="c20210101to20211231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</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="c20200101to20201231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:LotteryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_ProductOrServiceAxis_CasinoAndGamingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</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="c20210101to20211231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</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="c20210101to20211231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_ProductOrServiceAxis_PosAutomationAndBankingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_ProductOrServiceAxis_TransactServicesGroupMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</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="c20200101to20201231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</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="c20210101to20211231_ProductOrServiceAxis_PosAutomationAndBankingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</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="c20200101to20201231_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20211231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20230101Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31">2023-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20220101Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31">2022-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</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-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ScientificGamesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:ScientificGamesMember</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="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ScientificGamesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:ScientificGamesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPlcMember</xbrldi:explicitMember><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-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_NcrCorporationMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:NcrCorporationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_NcrCorporationMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:NcrCorporationMember</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="c20210101to20211231_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20211231_BalanceSheetLocationAxis_OtherLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20201231_BalanceSheetLocationAxis_OtherLiabilitiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20201231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20201231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20201231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20201231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20201231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FixedAssetsExcludingConstructionInProcessMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20201231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FixedAssetsExcludingConstructionInProcessMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_OtherIntangibleAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_OtherIntangibleAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_CustomerRelationshipsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_NoncompeteAgreementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_NoncompeteAgreementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_CustomerRelationshipsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_TrademarksMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_TrademarksMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</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="c20210101to20211231_DebtInstrumentAxis_PaycheckProtectionProgramLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:PaycheckProtectionProgramLoanMember</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="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_PrimeRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</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="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_FederalFundsEffectiveSwapRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</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="c20211231_DebtInstrumentAxis_PaycheckProtectionProgramLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:PaycheckProtectionProgramLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20210721_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_RangeAxis_MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-07-21</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20210701to20210701_DebtInstrumentAxis_PaycheckProtectionProgramLoanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:PaycheckProtectionProgramLoanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-01</xbrli:startDate><xbrli:endDate>2021-07-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MaximumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MinimumMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20211231_PlanNameAxis_EquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember><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="c20201231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20201231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_PlanNameAxis_EquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_PlanNameAxis_EquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</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="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20201231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</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="c20200101to20201231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember><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="c20201231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20170101to20171231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></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="c20211231_IncomeTaxAuthorityAxis_StateAndLocalJurisdictionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_IncomeTaxAuthorityAxis_DomesticCountryMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_TaxCreditCarryforwardAxis_ResearchMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:ResearchMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20191231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20201231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</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="c20200101to20201231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20211231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</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="c20200101to20201231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20050101to20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2005-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</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="c20200101to20201231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20211231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20211231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20201231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20201231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</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="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</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="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:PacificRimMember</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="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</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="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:PacificRimMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20201001to20201231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-10-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20200401to20200630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-04-01</xbrli:startDate><xbrli:endDate>2020-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20211001to20211231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></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="c20200701to20200930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-07-01</xbrli:startDate><xbrli:endDate>2020-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210701to20210930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-07-01</xbrli:startDate><xbrli:endDate>2021-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210401to20210630"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-04-01</xbrli:startDate><xbrli:endDate>2021-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210101to20210331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20200101to20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="U001"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="U002"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="U003"><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="U004"><xbrli:measure>tact:Segment</xbrli:measure></xbrli:unit><xbrli:unit id="U005"><xbrli:measure>tact:Solution</xbrli:measure></xbrli:unit><xbrli:unit id="U006"><xbrli:measure>tact:Manufacturer</xbrli:measure></xbrli:unit><xbrli:unit id="U007"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="U008"><xbrli:measure>tact:Plan</xbrli:measure></xbrli:unit><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_2200dbb582a34135a33a33e7991a39fc" toRefs="Foot_d955d8fd57964b2cbb978471388690e9" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_01fe42f5d6f34989a866fbd5509a91ea" toRefs="Foot_d955d8fd57964b2cbb978471388690e9" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_40d1567dd34c48a8b2ddc99b368df7e7" toRefs="Foot_d955d8fd57964b2cbb978471388690e9" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_4d318218b4c8419da5729ae5d3a44d0d" toRefs="Foot_02c9893d755d46e09c2c806bd0739d14" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_7fa9fff2f815438785e751a7709e7b83" toRefs="Foot_02c9893d755d46e09c2c806bd0739d14" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_341af3cccf6b4c90b6dacfd466c2a72a" toRefs="Foot_02c9893d755d46e09c2c806bd0739d14" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_11f7c7940cb447f4be4b89111a161e61" toRefs="Foot_02c9893d755d46e09c2c806bd0739d14" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_86c7680febb546969024d9eb2d4b8462" toRefs="Foot_02c9893d755d46e09c2c806bd0739d14" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_49be8004ba664c0eaf328ac4dc33e44c" toRefs="Foot_02c9893d755d46e09c2c806bd0739d14" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_46445371553641de90936e45fc92e64c" toRefs="Foot_02c9893d755d46e09c2c806bd0739d14" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_eda0294a1e184539a4e55e0cc64a32e4" toRefs="Foot_02c9893d755d46e09c2c806bd0739d14" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_58c63cc0cfda4df393fec3b461f57817" toRefs="Foot_02c9893d755d46e09c2c806bd0739d14" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_f42cd3a3f3ca4efcab1a34623971b4b0" toRefs="Foot_42b55853fb414ccdba8ab0b20970caa0" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_4532d7bb5d5e49a59bc227be7b49e3c3" toRefs="Foot_42b55853fb414ccdba8ab0b20970caa0" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_fbd2499553ba4833a79eeb4cc73d1d0d" toRefs="Foot_42b55853fb414ccdba8ab0b20970caa0" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_3c1bc3bf75ae42809b901affb2e39d83" toRefs="Foot_42b55853fb414ccdba8ab0b20970caa0" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_a9c83316b680472f8697b2f43948f41d" toRefs="Foot_42b55853fb414ccdba8ab0b20970caa0" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship><ix:relationship order="1.0" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Fact_3f635a049bd440c699554704b596c0f4" toRefs="Foot_42b55853fb414ccdba8ab0b20970caa0" linkRole="http://www.xbrl.org/2003/role/link"></ix:relationship></ix:resources></ix:header></div>

  <div style="text-align: center; line-height: 15.95pt; font-family: 'Times New Roman', Times, serif; font-size: 14pt; font-weight: bold;">UNITED STATES</div>

  <div style="text-align: center; line-height: 15.95pt; font-family: 'Times New Roman', Times, serif; font-size: 14pt; font-weight: bold;">SECURITIES AND EXCHANGE COMMISSION</div>

  <div style="text-align: center; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt; font-weight: bold;">Washington, D.C. 20549</div>

  <div style="text-align: justify; line-height: 6.85pt;"><br />
  </div>

  <div style="text-align: center; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt; font-weight: bold;"><span style="font-size: 18pt; font-family: 'Times New Roman', Times, serif;">FORM <ix:nonNumeric name="dei:DocumentType" id="Fact_81399307730d4ea38d9fd7590a530cf8" contextRef="c20210101to20211231">10-K</ix:nonNumeric></span></div>

  <div style="line-height: 6.85pt;"><br />
  </div>

  <div style="text-align: left; text-indent: -18pt; margin-left: 18pt; line-height: 10.85pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(Mark One)</div>

  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Segoe UI Symbol'; font-size: 10pt;"><ix:nonNumeric name="dei:DocumentAnnualReport" id="Fact_0a4e38807fde48da86cb88b14c2723d7" contextRef="c20210101to20211231" format="ixt-sec:boolballotbox">&#x2612;</ix:nonNumeric></td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</div>
        </td>

  </tr>


</table>
  <div style="line-height: 6.85pt;"><br />
  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">For the fiscal year ended <ix:nonNumeric name="dei:DocumentPeriodEndDate" id="Fact_84104798d0d64e77b9c639b1e0a1ee95" contextRef="c20210101to20211231" format="ixt:datemonthdayyearen">December 31, 2021</ix:nonNumeric></div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">or</div>

  <div style="line-height: 6.85pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Segoe UI Symbol'; font-size: 10pt;"><ix:nonNumeric name="dei:DocumentTransitionReport" id="Fact_c4f1a6a0a9f442c29319bc6386fbbca4" contextRef="c20210101to20211231" format="ixt-sec:boolballotbox">&#x2610;</ix:nonNumeric></td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</div>
        </td>

  </tr>


</table>
  <div style="line-height: 6.85pt;"><br />
  </div>

  <div style="text-align: left; margin-left: 18pt; line-height: 10.85pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">For the transition period from __________ to __________</div>

  <div style="line-height: 6.85pt;"><br />
  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">Commission file number:</span>&#160;<ix:nonNumeric name="dei:EntityFileNumber" id="Fact_68d13cc34fa44214b6a5c2812b655a1c" contextRef="c20210101to20211231">0-21121</ix:nonNumeric></div>

  <div style="line-height: 6.85pt;"><br />
  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">
    <hr style="height: 1px; width: 30%; color: #000000; background-color: #000000; text-align: center; border: none; margin-left: auto; margin-right: auto;" /></div>

  <div style="text-align: center; line-height: 10.25pt;"><img width="353" height="87" src="image0.jpg" alt="graphic" /></div>

  <div style="text-align: center; line-height: 1.15pt; font-family: 'Times New Roman'; font-size: 1pt;"><ix:nonNumeric name="dei:EntityRegistrantName" id="Fact_f3cc80f94a61485aa4a7bdd1cf8a9490" contextRef="c20210101to20211231">TRANSACT TECHNOLOGIES INC</ix:nonNumeric></div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">
    <hr style="height: 1px; width: 30%; color: #000000; background-color: #000000; text-align: center; border: none; margin-left: auto; margin-right: auto;" /></div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(Exact name of registrant as specified in its charter)</div>

  <div style="line-height: 9.1pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 48.4%; vertical-align: top; border-bottom: #000000 2px solid;">
          <div style="text-align: center; line-height: 9.7pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityIncorporationStateCountryCode" id="Fact_f875f8b8e6364abaa28a1d116703a7f0" contextRef="c20210101to20211231" format="ixt-sec:stateprovnameen">Delaware</ix:nonNumeric></div>
        </td>

    <td style="width: 3.89%; vertical-align: top;">&#160;</td>

    <td style="width: 47.71%; vertical-align: top; border-bottom: #000000 2px solid;">
          <div style="text-align: center; line-height: 9.7pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" id="Fact_236f23f5b9c4401eb5f79116190db17b" contextRef="c20210101to20211231">06-1456680</ix:nonNumeric></div>
        </td>

  </tr>

  <tr>

    <td style="width: 48.4%; vertical-align: top;">
          <div style="text-align: center; line-height: 9.1pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;">(State or other jurisdiction of incorporation or organization)</div>
        </td>

    <td style="width: 3.89%; vertical-align: top;">&#160;</td>

    <td style="width: 47.71%; vertical-align: top;">
          <div style="text-align: center; line-height: 9.1pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;">(I.R.S. Employer Identification No.)</div>
        </td>

  </tr>

  <tr>

    <td style="width: 48.4%; vertical-align: top;">&#160;</td>

    <td style="width: 3.89%; vertical-align: top;">&#160;</td>

    <td style="width: 47.71%; vertical-align: bottom;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 48.4%; vertical-align: top; border-bottom: #000000 2px solid;">
          <div style="text-align: center; line-height: 9.7pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityAddressAddressLine1" id="Fact_bdadc0f20df04873928d30a0de334456" contextRef="c20210101to20211231">One Hamden Center</ix:nonNumeric>,
            <ix:nonNumeric name="dei:EntityAddressAddressLine2" id="Fact_b7f379fe0d4d496bbc8e2b1b06a8cfa7" contextRef="c20210101to20211231">2319 Whitney Avenue, Suite 3B</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressCityOrTown" id="Fact_868bc5e3a11d41b68b51dadc644d1250" contextRef="c20210101to20211231">Hamden</ix:nonNumeric>,
            <ix:nonNumeric name="dei:EntityAddressStateOrProvince" id="Fact_dba64ce06c074350bdaa251e54dd8078" contextRef="c20210101to20211231">CT</ix:nonNumeric></div>
        </td>

    <td style="width: 3.89%; vertical-align: top;">&#160;</td>

    <td style="width: 47.71%; vertical-align: bottom; border-bottom: #000000 2px solid;">
          <div style="text-align: center; line-height: 9.7pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityAddressPostalZipCode" id="Fact_5ab5ad85d7e34158b0849906648cd029" contextRef="c20210101to20211231">06518</ix:nonNumeric></div>
        </td>

  </tr>

  <tr>

    <td style="width: 48.4%; vertical-align: top;">
          <div style="text-align: center; line-height: 9.1pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;">(Address of principal executive offices)</div>
        </td>

    <td style="width: 3.89%; vertical-align: top;">&#160;</td>

    <td style="width: 47.71%; vertical-align: top;">
          <div style="text-align: center; line-height: 9.1pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;">(Zip Code)</div>
        </td>

  </tr>


</table>
  <div style="line-height: 9.1pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 100%; vertical-align: top; border-bottom: #000000 2px solid;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">(<ix:nonNumeric name="dei:CityAreaCode" id="Fact_bb54dc2fb9dd455eaf1596cb2919b4b5" contextRef="c20210101to20211231">203</ix:nonNumeric>)
            <ix:nonNumeric name="dei:LocalPhoneNumber" id="Fact_0a3568deb2bd4a388877d31a229803d0" contextRef="c20210101to20211231">859-6800</ix:nonNumeric></div>
        </td>

  </tr>

  <tr>

    <td style="width: 100%; vertical-align: top;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(Registrant&#8217;s Telephone Number, Including Area Code)</div>
        </td>

  </tr>


</table>
  <div style="line-height: 6.85pt;"><br />
  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Securities registered pursuant to Section 12(b) of the Act:</div>

  <div style="line-height: 5.7pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 35.97%; vertical-align: middle; border-bottom: #000000 2px solid;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Title of each class</div>
        </td>

    <td style="width: 2.64%; vertical-align: middle;">&#160;</td>

    <td style="width: 22.22%; vertical-align: middle; border-bottom: #000000 2px solid;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Trading Symbol(s)</div>
        </td>

    <td style="width: 1.81%; vertical-align: middle;">&#160;</td>

    <td style="width: 37.36%; vertical-align: middle; border-bottom: #000000 2px solid;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Name of each exchange on which registered</div>
        </td>

  </tr>

  <tr>

    <td style="width: 35.97%; vertical-align: middle; border-top: #000000 2px solid;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonNumeric name="dei:Security12bTitle" id="Fact_e65e410b2685465cb71101632415ba50" contextRef="c20210101to20211231">Common stock, par value $0.01 per share</ix:nonNumeric></div>
        </td>

    <td style="width: 2.64%; vertical-align: middle;">&#160;</td>

    <td style="width: 22.22%; vertical-align: middle; border-top: #000000 2px solid;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonNumeric name="dei:TradingSymbol" id="Fact_1972a8701d3048dc842ce99d3ed9ce34" contextRef="c20210101to20211231">TACT</ix:nonNumeric></div>
        </td>

    <td style="width: 1.81%; vertical-align: middle;">&#160;</td>

    <td style="width: 37.36%; vertical-align: middle; border-top: #000000 2px solid;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonNumeric name="dei:SecurityExchangeName" id="Fact_eca10fab5b624c64a854c3bc649be36a" contextRef="c20210101to20211231" format="ixt-sec:exchnameen">NASDAQ Global Market</ix:nonNumeric></div>
        </td>

  </tr>


</table>
  <div style="line-height: 9.1pt;"><br />
  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Securities registered pursuant to Section 12(g) of the Act: None</div>

  <div style="line-height: 6.85pt;"><br />
  </div>

  <div style="text-align: left; line-height: 9.1pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.&#160; Yes&#160;&#160; <span style="font-size: 8pt; font-family: 'Times New Roman', Times, serif;">&#9633;</span>&#160;&#160; <ix:nonNumeric name="dei:EntityWellKnownSeasonedIssuer" id="Fact_23f13135cd004f1291f9f8a4476ab11d" contextRef="c20210101to20211231">No</ix:nonNumeric>&#160;&#160; <span style="font-size: 8pt; font-family: 'Times New Roman', Times, serif;">&#8999;</span></div>

  <div style="line-height: 6.85pt;"><br />
  </div>

  <div style="text-align: left; line-height: 9.1pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;">Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.&#160; Yes&#160;&#160; <span style="font-size: 8pt; font-family: 'Times New Roman', Times, serif;">&#9633;</span>&#160;&#160; <ix:nonNumeric name="dei:EntityVoluntaryFilers" id="Fact_4f0d4128207a4dacbcfbff463aeac3b3" contextRef="c20210101to20211231">No</ix:nonNumeric>&#160;&#160; <span style="font-size: 8pt; font-family: 'Times New Roman', Times, serif;">&#8999;</span></div>

  <div style="line-height: 6.85pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 9.1pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;">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.&#160; <ix:nonNumeric name="dei:EntityCurrentReportingStatus" id="Fact_ef5000b06c064507aaaddcb277c1a071" contextRef="c20210101to20211231">Yes</ix:nonNumeric>&#160;&#160; <span style="font-size: 8pt; font-family: 'Times New Roman', Times, serif;">&#8999;</span>&#160;&#160; No&#160;&#160; <span style="font-size: 8pt; font-family: 'Times New Roman', Times, serif;">&#9633;</span></div>

  <div style="line-height: 6.85pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 9.1pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant
    to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).&#160; <ix:nonNumeric name="dei:EntityInteractiveDataCurrent" id="Fact_63bfa292bd874c3590ea3f9399626934" contextRef="c20210101to20211231">Yes</ix:nonNumeric>&#160;
    &#160; <span style="font-size: 8pt; font-family: 'Times New Roman', Times, serif;">&#8999;</span>&#160;&#160; No&#160;&#160; <span style="font-size: 8pt; font-family: 'Times New Roman', Times, serif;">&#9633;</span></div>

  <div style="line-height: 6.85pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 9.1pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller
    reporting company or an emerging growth company.&#160; See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act.&#160; (Check one):</div>

  <div style="line-height: 6.85pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 57.5%; vertical-align: top;">
          <div style="text-align: justify; line-height: 9.1pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;">Large accelerated filer&#160; <span style="font-size: 8pt; font-family: 'Times New Roman', Times, serif;">&#9633;</span></div>
        </td>

    <td style="width: 42.5%; vertical-align: top;">
          <div style="text-align: justify; line-height: 9.1pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;">Accelerated filer&#160; <span style="font-size: 8pt; font-family: 'Times New Roman', Times, serif;">&#9633;</span></div>
        </td>

  </tr>

  <tr>

    <td style="width: 57.5%; vertical-align: top;">
          <div style="text-align: left; line-height: 9.1pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;"><ix:nonNumeric name="dei:EntityFilerCategory" id="Fact_5c23836eb08c48d2b775d2ce2c900f58" contextRef="c20210101to20211231" format="ixt-sec:entityfilercategoryen">Non-accelerated filer</ix:nonNumeric>&#160; <span style="font-size: 8pt; font-family: 'Times New Roman', Times, serif;">&#8999;</span></div>
        </td>

    <td style="width: 42.5%; vertical-align: top;">
          <div style="text-align: left; line-height: 9.1pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;">Smaller reporting company&#160; <span style="font-size: 8pt; font-family: 'Segoe UI Symbol';"><ix:nonNumeric name="dei:EntitySmallBusiness" id="Fact_f48ea49b5342471f99b184e2fe3d80df" contextRef="c20210101to20211231" format="ixt-sec:boolballotbox">&#x2612;</ix:nonNumeric></span></div>
        </td>

  </tr>

  <tr>

    <td style="width: 57.5%; vertical-align: top;">&#160;</td>

    <td style="width: 42.5%; vertical-align: top;">
          <div style="text-align: left; line-height: 9.1pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;">Emerging growth company <span style="font-size: 8pt; font-family: 'Segoe UI Symbol';"><ix:nonNumeric name="dei:EntityEmergingGrowthCompany" id="Fact_5f8d4d1f6c284ce1ad6cc5140bfd3d57" contextRef="c20210101to20211231" format="ixt-sec:boolballotbox">&#x2610;</ix:nonNumeric></span></div>
        </td>

  </tr>


</table>
  <div style="line-height: 6.85pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 9.1pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;">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 standards provided pursuant to Section 13(a) of the Exchange Act.&#160; <span style="font-size: 8pt; font-family: 'Segoe UI Symbol';">&#9744;</span></div>

  <div style="line-height: 6.85pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 9.1pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;"><span style="font-size: 8pt; font-family: 'Times New Roman', Times, serif;">Indicate by check mark whether the registrant has filed a
      report on and attestation to its management&#8217;s assessment of the effectiveness of internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or
      issued its audit report. </span><span style="font-size: 8pt; font-family: 'Segoe UI Symbol';"><ix:nonNumeric name="dei:IcfrAuditorAttestationFlag" id="Fact_15a44edf1bbb4cadb5ad6f6952c05c0f" contextRef="c20210101to20211231" format="ixt-sec:boolballotbox">&#x2610;</ix:nonNumeric></span></div>

  <div style="line-height: 9.1pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 9.1pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act). Yes&#160;&#160; <span style="font-size: 8pt; font-family: 'Segoe UI Symbol';"><ix:nonNumeric name="dei:EntityShellCompany" id="Fact_08d23d8517724635922d5ce9898b42f9" contextRef="c20210101to20211231" format="ixt-sec:boolballotbox">&#x2610;</ix:nonNumeric></span>&#160;&#160; No&#160;&#160; <span style="font-size: 8pt; font-family: 'Times New Roman', Times, serif;">&#8999;</span></div>

  <div style="line-height: 6.85pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 9.1pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;">The aggregate market value of the voting and non-voting common equity held by non-affiliates of the Registrant was approximately $<ix:nonFraction name="dei:EntityPublicFloat" id="Fact_b815248b35df42b6b6db096eaa55d96c" contextRef="c20210630" unitRef="U001" decimals="0" scale="0" format="ixt:numdotdecimal">119,400,000</ix:nonFraction> based on the last sale price on June 30, 2021.</div>

  <div style="line-height: 6.85pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 9.1pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;">As of February 28, 2022, the
    number of shares outstanding of the Registrant&#8217;s common stock, $0.01 par value, was <ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" id="Fact_e365e59451374702adc76737fd37b120" contextRef="c20220228" unitRef="U002" decimals="INF" scale="0" format="ixt:numdotdecimal">9,889,745</ix:nonFraction>.</div>

  <div style="line-height: 6.85pt;"><br />
  </div>

  <div style="text-align: center; line-height: 9.7pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: bold;">DOCUMENTS INCORPORATED BY REFERENCE</div>

  <div style="line-height: 6.85pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 9.7pt; font-family: 'Times New Roman', Times, serif; font-size: 8pt;">Portions of the Registrant&#8217;s Definitive Proxy Statement related to its 2022 Annual Meeting of Stockholders (the &#8220;Proxy Statement&#8221;) to be filed with the Securities and Exchange Commission&#160; within 120 days after the Registrant&#8217;s fiscal year end of December 31, 2021 are incorporated by reference into Part III of this Annual Report on Form 10-K.</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="text-align: center; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">TRANSACT TECHNOLOGIES INCORPORATED</span></div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="text-align: center; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">INDEX</span></div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 7%; vertical-align: top;"> </td>

    <td style="width: 85%; vertical-align: top;">
          <div style="text-align: center; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">PART I.</div>
        </td>

    <td style="width: 8%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 1.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Business</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 1A.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Risk Factors</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 1B.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Unresolved Staff Comments</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">19</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 2.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Properties</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">19</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 3.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Legal Proceedings</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">19</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 4.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Mine Safety Disclosures</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">19</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 85%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 8%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 85%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: center; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">PART II.</div>
        </td>

    <td style="width: 8%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 5.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Market for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">20</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 6.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">[Reserved]</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">20</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 7.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">20</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 7A.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Quantitative and Qualitative Disclosures About Market Risk</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">30</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 8.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Financial Statements and Supplementary Data</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">30</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 9.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Changes in and Disagreements with Accountants on Accounting and Financial Disclosure</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">30</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 9A.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Controls and Procedures</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">30</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 9B.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other Information</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">31</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 9C.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Disclosure Regarding Foreign Jurisdiction that Prevent Inspections</div>
        </td>

    <td style="width: 8%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: center; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">31</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 85%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 8%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 85%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: center; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">PART III.</div>
        </td>

    <td style="width: 8%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 10.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Directors, Executive Officers and Corporate Governance</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">32</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 11.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Executive Compensation</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">32</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 12.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">32</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 13.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Certain Relationships and Related Transactions, and Director Independence</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">32</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 14.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Principal Accounting Fees and Services</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">32</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 85%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 8%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 85%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: center; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">PART IV.</div>
        </td>

    <td style="width: 8%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 15.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Exhibits and Financial Statement Schedules</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">33</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Item 16.</div>
        </td>

    <td style="width: 85%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Form 10-K Summary</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: center; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">35</div>
        </td>

  </tr>

  <tr>

    <td style="width: 7%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 85%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 8%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 92%; vertical-align: top; background-color: #FFFFFF;" colspan="2">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">SIGNATURES</div>
        </td>

    <td style="width: 8%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 92%; vertical-align: top; background-color: #CCEEFF;" colspan="2">&#160;</td>

    <td style="width: 8%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 92%; vertical-align: top; background-color: #FFFFFF;" colspan="2">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Signatures</div>
        </td>

    <td style="width: 8%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: center; margin-right: 0.8pt; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">36</div>
        </td>

  </tr>

  <tr>

    <td style="width: 92%; vertical-align: top; background-color: #CCEEFF;" colspan="2">&#160;</td>

    <td style="width: 8%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 92%; vertical-align: top; background-color: #FFFFFF;" colspan="2">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">CONSOLIDATED FINANCIAL STATEMENTS</div>
        </td>

    <td style="width: 8%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 92%; vertical-align: top; background-color: #CCEEFF;" colspan="2">&#160;</td>

    <td style="width: 8%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 92%; vertical-align: top; background-color: #FFFFFF;" colspan="2">
          <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Index to Consolidated Financial Statements</div>
        </td>

    <td style="width: 8%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: center; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">F-1</div>
        </td>

  </tr>


</table>
  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Smaller Reporting Company&#8212;Scaled Disclosure</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><!--PROfilePageNumberReset%Num%1%%%-->Pursuant to Item 10(f) of Regulation S K promulgated under the Securities Act of 1933, as amended
    (the &#8220;Securities Act&#8221;), as indicated herein, we have elected to comply with certain scaled disclosure requirements applicable to &#8220;smaller reporting companies&#8221; in this Annual Report on Form 10-K for the year ended December 31, 2021 (this &#8220;Form 10-K&#8221;).</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">PART I</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Forward-Looking Statements</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Certain statements included in this Form 10-K may include &#8220;forward-looking statements&#8221; within the meaning of the
    U.S. federal securities laws, including the Private Securities Litigation Reform Act of 1995. Forward-looking statements are any statements other than statements of historical fact. Forward-looking statements represent current views about possible
    future events and are often identified by the use of forward-looking terminology, such as &#8220;may,&#8221; &#8220;will,&#8221;, &#8220;expect,&#8221; &#8220;intend,&#8221; &#8220;estimate,&#8221; &#8220;anticipate,&#8221; &#8220;believe,&#8221; &#8220;project&#8221; or &#8220;continue&#8221; or the negative thereof or other similar words.&#160; Forward-looking
    statements are subject to certain risks, uncertainties and assumptions.&#160; In the event that one or more of such risks or uncertainties materialize, or one or more underlying assumptions prove incorrect, actual results may differ materially from those
    expressed or implied by the forward-looking statements.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Important factors and uncertainties
      that could cause actual results to differ materially from those expressed or implied by the forward-looking statements include, but are not limited to, the following: the adverse effects of the COVID-19 pandemic on our business, operations, financial
      condition, results of operations and capital resources, including difficulties or delays in manufacturing or delivery of inventory or other supply chain disruptions, shutdowns and/or operational restrictions imposed on our customers, an inability of
      our customers to make payments on time or at all, diversion of management attention, necessary modifications to our business practices and operations, cost cutting measures we have made and may continue to make, a possible future reduction in the
      value of goodwill or other intangible assets, inadequate manufacturing capacity or a shortfall or excess of inventory as a result of difficulty in predicting manufacturing requirements due to volatile economic conditions, price increases or decreased
      availability of component parts or raw materials, exchange rate fluctuations, volatility of, and decreases in, trading prices of our common stock and the availability of needed financing on acceptable terms or at all; our ability to successfully
      develop new products that garner customer acceptance and generate sales, both domestically and internationally, in the face of substantial competition; our reliance on an unrelated third-party to develop, maintain and host certain web-based food
      service application software and develop and maintain selected components of our downloadable software applications pursuant to a non-exclusive license agreement, and the risk that interruptions in our relationship with that third-party could
      materially impair our ability to provide services to our food service technology customers on a timely basis or at all and could require substantial expenditures to find or develop alternative software products;</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">&#160;</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">our ability to successfully transition our business into
      the food service technology market; risks associated with potential future acquisitions; general economic conditions; our dependence on contract manufacturers for the assembly of a large portion of our products in Asia; our dependence on significant
      suppliers; our ability to recruit and retain quality employees as the Company grows; our dependence on third-parties for sales outside the United States; marketplace acceptance of new products; risks associated with foreign operations; the
      availability of third-party components at reasonable prices; price wars or other significant pricing pressures affecting the Company&#8217;s products in the United States or abroad; increased product costs or reduced customer demand for our products due to
      changes in U.S. policy that may result in trade wars or tariffs; our ability to protect intellectual property; the effect of the United Kingdom&#8217;s withdrawal from the European Union; and other risk factors identified and discussed in Part I, Item 1A,
    </span>Risk Factors<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">, and Part II, Item 7, </span>Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">, of this Form 10-K and that may be detailed from time to time in the Company&#8217;s other reports filed with the Securities and Exchange Commission (the &#8220;SEC&#8221;).</span></div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">We caution readers not to place undue reliance on forward-looking statements, which speak only as of the date of
    this Form 10-K.&#160; We undertake no obligation to publicly or otherwise revise any forward-looking statements, whether as a result of new information, future events or other factors, except where we are expressly required to do so by law.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 1. Business.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">The Company</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct Technologies Incorporated (together with its consolidated subsidiaries, &#8220;TransAct,&#8221; the &#8220;Company,&#8221; &#8220;we,&#8221; &#8220;us,&#8221; or &#8220;our&#8221;) was
    incorporated in June 1996 and began operating as a stand-alone business in August 1996 as a spin-off of the printer business that was formerly conducted by certain subsidiaries of Tridex Corporation.&#160; We completed an initial public offering on August
    22, 1996.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct is a global leader in developing and selling software-driven technology and printing solutions for high growth markets
    including food service technology, point of sale (&#8220;POS&#8221;) automation and casino and gaming.&#160; Our world-class products are designed from the ground up based on market and customer requirements and are sold under the BOHA!&#8482;, AccuDate&#8482;, Epic, EPICENTRAL&#174;
    Ithaca&#174;, and Printrex&#174; brand names.&#160; During 2019, we launched a new line of products for the food service technology market, the BOHA! branded suite of cloud-based applications and companion hardware solutions.&#160; The BOHA! software and hardware products
    help restaurants, convenience stores and food service operators of all sizes automate food production in the back-of-house operations.&#160; Known and respected worldwide for innovative designs and real-world service reliability, our thermal printers and
    terminals generate top-quality labels, coupons and transaction records such as receipts, tickets and other documents, as well as printed logging and plotting of data.&#160; We sell our technology to original equipment manufacturers (&#8220;OEMs&#8221;), value-added
    resellers, select distributors and directly to end-users.&#160; Our product distribution spans across the Americas, Europe, the Middle East, Africa, Asia, Australia, New Zealand, the Caribbean Islands and the South Pacific. We also offer world-class
    service, support, labels, spare parts, accessories and printing supplies to our growing worldwide base of products currently in use by our customers. Through our TransAct Services Group (&#8220;TSG&#8221;), we provide a complete range of supplies and consumables
    used in the printing activities of customers in the restaurant and hospitality, retail, casino and gaming, government and oil and gas exploration markets.&#160; Through our webstore, www.transactsupplies.com, and our direct selling team, we address the
    demand for these products. Our primary operating, hardware research and development, and U.S. service center is located in Ithaca, New York.&#160; In addition, we have a casino and gaming sales headquarters and software research and development in Las
    Vegas, Nevada; a European sales and service center at our subsidiary in the United Kingdom (&#8220;UK&#8221;); and a sales office located in Macau, China.&#160; Our executive offices are located at One Hamden Center, 2319 Whitney Avenue, Suite 3B, Hamden, Connecticut,
    06518, with a telephone number of (203) 859-6800.</div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">1</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Impact of the COVID-19 Pandemic</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">During the first two months of 2020 our business trends were in line with internal expectations; however, the challenges posed by the
    COVID-19 pandemic on the United States and global economy increased significantly as the first quarter of 2020 progressed and continued throughout the remainder of 2020 and into 2021.&#160; Though we have begun to experience some recovery during 2021,
    unfortunately, the massive economic and social disruptions across the world persist due to COVID-19, including the emergence of virus variants, and the measures implemented to mitigate its spread.&#160; The food service, casino and gaming, and oil and gas
    industries have been particularly affected by the pandemic, and we expect such disruptions to continue to negatively impact our overall business for the foreseeable future.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">As a result of the COVID-19 pandemic and measures implemented to mitigate its spread, we experienced decreased demand for our products
    and lower than anticipated sales beginning in the second half of March 2020 and continuing through 2021, particularly in our food service technology and casino and gaming markets.&#160; We experienced some improvement in demand during the second half of
    2020 through 2021 compared to the second quarter of 2020, as state and local governments lifted certain measures implemented earlier in 2020 to mitigate the spread of the virus, but demand remained lower than 2019.&#160; While we expect this improvement to
    continue during 2022, the exact timing and pace of recovery is unknown.&#160; We have also experienced supply chain disruptions, including delayed product shipments from our two contract manufacturers located in Thailand and China that conduct almost all of
    our printer and BOHA! hardware manufacturing, due to reduced operations and part shortages at these facilities.&#160; Our inventory levels decreased significantly during 2021 due to these supply chain disruptions and if these delays are sustained or
    additional disruptions occur we may have insufficient inventory levels and our ability to deliver products to our customers on time or at all may be impaired.&#160; Below is a discussion of the impact we have experienced from the COVID-19 pandemic, and that
    we believe will continue to experience for the foreseeable future in each of our markets.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Food service
      technology and POS automation</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">.</span>&#160; In both our food service technology and POS automation markets, many restaurants and food service
    establishments that were closed during much of the second quarter of 2020 started to reopen in the third quarter of 2020 as state and local governments began to ease restrictions put in place in response to the pandemic.&#160; Many of our customers
    initially opened under restrictions that limited them to providing drive-through, take-out or delivery service without dine-in options, as well as limiting the volume of customers and employees on site at any one time.&#160; During the second half of 2020
    and throughout 2021 as these food service customers reopened for business, we experienced sales improvement compared to the second quarter of 2020.&#160; However, during the fourth quarter of 2020 and early in 2021, restaurants were again impacted by a
    resurgence of the pandemic.&#160; Notwithstanding the gradual resumption of operations that began in the third quarter of 2020, our food service technology and POS automation customers continue to recover from the financial impact of the pandemic and we
    expect new capital expenditures to be a lower priority for them in the near term, which we believe will continue to negatively impact sales of BOHA! hardware, software and label products, as well as sales of POS printers.&#160; However, food service
    providers have been and are likely to continue to be required to develop and implement new or enhanced policies and operating procedures regarding cleaning, sanitizing and social distancing to ensure the safety of their employees and customers.&#160;
    Additionally, our markets have experienced labor shortages and inflation in their food and labor costs.&#160; We believe that our BOHA! hardware, software and label products could prove to be helpful to our food service customers in efficiently and
    effectively managing and complying with these new procedures, while also helping to overcome staffing issues and inflation, especially as many establishments are and will likely continue to be operating with reduced staff levels due to the continuing
    labor shortage.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Casino and gaming</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">.</span>&#160;&#160; In the casino and gaming market, most casinos and other gaming establishments were closed worldwide during most of the second quarter of 2020.&#160; Many
    casinos began to reopen in late May and early June 2020, but similar to restaurants, casino openings were slow and measured, starting with reduced capacity and limited gameplay based on social distancing guidelines.&#160; During the fourth quarter of 2020,
    some casinos re-closed due to a resurgence of the pandemic.&#160; However, many casinos in the U.S. reopened during the first quarter of 2021 with limited capacity and continued to remain open and further expand capacity during the remainder of 2021.&#160; We
    anticipate that casinos will continue to increase capacity over time, barring any new closures or reduced capacity requirements in response to any new resurgence of the pandemic, including the emergence of variants.&#160; Though sales of our casino and
    gaming products increased during 2021, and we expect this trend to continue into 2022,&#160; casinos continue to recover from the financial impact of the COVID-19 pandemic, and therefore we expect that certain casinos&#8217; appetite for purchases of new slot
    machines may be diminished, which may negatively impact sales of casino and gaming printers purchased by slot manufacturers for use in slot machines at casinos during 2022.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Lottery</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">.</span>&#160; We exited the lottery market at the end of 2019 and IGT made a final purchase of our lottery printer during the second quarter of 2020.&#160; Therefore,
    COVID-19 has not had an impact on our lottery printer sales, and we do not anticipate that it will have an impact on our future lottery printer sales.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Printrex</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">.</span>&#160; The oil and gas market was negatively impacted by the decline in worldwide oil prices attributable to the COVID-19 pandemic during 2020.&#160; During the
    latter half 2021, oil and gas prices began to rise again, resulting in slowly improving sales to our oil and gas customers.&#160; However, we made a strategic decision to exit the Printrex market as of December 31, 2021 and expect to have no future sales in
    this market beyond 2021.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">TSG</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">.</span>&#160; Due to closures and reduced operating capacity of restaurants, retail establishments, casinos and other gaming establishments resulting from the
    COVID-19 pandemic, sales of spare parts, service and consumable products have declined, and we expect such sales to remain at reduced levels, due to lower usage while customers continue to recover from the impact of the pandemic.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our gross margin has been negatively impacted and we expect our gross margin to continue to be negatively impacted while the COVID-19
    pandemic and its economic effects on the markets we serve persists.&#160; As a result of an expected lower sales level, as well as increased material and shipping costs resulting from worldwide supply disruptions caused by the COVID-19 pandemic, we believe
    our gross margin will remain lower than pre-pandemic levels due to fixed manufacturing overhead expenses (such as facility costs, depreciation, etc.) that cannot be reduced or eliminated even with the lower sales level.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">2</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">While we began to experience a modest recovery starting in the second half of 2020 and continuing into 2021 and expect this recovery to
    continue during 2022, the exact timing and pace of recovery is unknown given uncertainty surrounding responsive measures to potential future resurgences of the virus, vaccination rates, the emergence of virus variants and the significant disruption
    that our customers and suppliers have already experienced and may continue to experience.&#160; In light of this uncertainty, we implemented a number of cost saving measures during 2020 to help mitigate the impact on our financial position and operations
    and continued to limit discretionary spending during 2021.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In addition to the expense management actions implemented during 2020, we took the following actions to increase liquidity and
    strengthen our financial position:</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Public Offerings &#8211; On October 16, 2020 and August 16, 2021, the Company raised net proceeds
              of $8.7 million and $11.2 million (</span>including the exercise of the underwriters&#8217; overallotment options on October 16, 2020 and August 20, 2021)<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">, respectively,
              after deducting underwriting discounts, commissions and offering expenses, through underwritten public offerings and sold an aggregate of 1,380,000 and 842,375 shares of common stock, respectively.</span></div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">PPP Loan &#8211; On May 1, 2020, the Company was granted a $2.2 million loan (the &#8220;PPP Loan&#8221;) under
              the Paycheck Protection Program (the &#8220;PPP&#8221;) administered by the Small Business Administration (&#8220;SBA&#8221;) established under Division A, Title I of the Coronavirus Aid, Relief, and Economic Security (&#8220;CARES&#8221;) Act, which enabled us to return
              employees we furloughed earlier in 2020 to full time employment and to restore </span>employees to full pay following certain pay cuts<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">.&#160; </span>On July 8, 2021, we
            received notice that the PPP Loan had been forgiven as of July 1, 2021.&#160;</div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Employee Retention Credit &#8211; </span>Under the provisions of the CARES Act, the Company is
            eligible for a refundable employee retention credit subject to certain criteria.&#160;&#160;In connection with the CARES Act, the Company recognized the employee retention credit during the fourth quarter of 2021 and recorded $1.5 million as &#8220;Gain from
            employee retention credit&#8221; in the Consolidated Statement of Operations and the related receivable as &#8220;Employee retention credit receivable&#8221;&#8221; in the Consolidated Balance Sheet as of December 31, 2021.&#160; We expect to receive these funds during
            2022<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">.</span></div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">New Credit Facility &#8211; On March 13, 2020, we entered into a new credit facility with Siena Lending Group LLC that provides a revolving credit line of up to $10.0 million,
            subject to a borrowing base.</div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Reduced Capital Expenditures &#8211; We limited capital expenditures during 2020 and gradually increased expenses during 2021 as our sales improved.</div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Since the onset of the pandemic, our top priority has been to ensure the health and safety of our employees while continuing to provide
    our customers with high-quality, personalized service.&#160; On March 20, 2020, we instituted work-from-home practices for the majority of our employees to reduce the spread of COVID-19 and to comply with government mandates.&#160; Because most of our employees
    already had laptop computers with remote access into our IT systems, we experienced only minor reductions in productivity and minimal costs related to the implementation of our work-from-home practices.&#160; In addition, even with the move to a
    work-from-home environment, our internal control structure remained operational and unchanged.</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">As of October 4, 2021, all of our employees were fully vaccinated against COVID-19 and, as a result, we implemented a return-to-work
    plan, reopening all of our facilities and ending our work-from-home practices.&#160; Our distribution centers, deemed an essential service, remained operational throughout the pandemic.&#160; During 2020, we implemented new COVID-19 policies, most of which were
    still in place prior to ending our work-from-home practices, to specifically address health and safety guidelines for employees to adhere to and follow when at work.&#160; These policies were based on the COVID-19 safety guidelines recommended by the
    Centers for Disease Control and Prevention.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We have evaluated the recoverability of the assets on our Consolidated Balance Sheet as of December 31, 2021 in accordance with
    relevant authoritative accounting literature. We considered the disruptions caused by the COVID-19 pandemic, including lower than previously forecasted sales and customer demand and macroeconomic factors potentially impacting accounts receivable,
    inventory, investments, intangible assets, goodwill and other assets and liabilities.&#160; Where forward-looking estimates are required, we made a good-faith estimate based on information available as of the balance sheet date. We have continued to monitor
    for indicators of impairment through the date of this Report and reflected accordingly in the accompanying consolidated financial statements.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Notwithstanding the foregoing, there is no assurance that the actions we have taken in response to the pandemic are sufficient or
    adequate, and we may be required to take additional preventive or responsive measures, as the ultimate extent of the effects of the COVID-19 pandemic on the Company, our financial condition, results of operations, liquidity, and cash flows are
    uncertain and are dependent on evolving developments which cannot be predicted at this time.&#160; See Part I, Item 1A, Risk Factors, of this Form 10-K for further discussion of risks related to COVID-19.</div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">3</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Products, Services and Distribution Methods</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Printers, terminals
      and other hardware:</span> TransAct designs, develops and markets a broad array of transaction-based and specialty printers and terminals utilizing thermal printing technology for applications, primarily in the food service technology, POS
    automation, casino and gaming, and prior to exiting the market on December 31, 2021, the oil and gas printing markets.&#160; Our printers and terminals are configurable and offer customers the ability to choose from a variety of features and functions.&#160;
    Options typically include interface configuration, mounting configuration, paper cutting devices, paper handling capacities and cabinetry color.&#160; Our food service technology terminals also offer software configurable menu options.&#160; Our food service
    technology market also includes sales of hardware products including temperature probes, temperature sensors and gateways.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Food Service
      Technology (&#8220;FST&#8221;): </span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">The primary offering in the FST market is our BOHA! ecosystem, which combines our latest generation terminal/workstation, cloud-based software
      applications and related hardware into a unique solution to automate </span>back-of-house operations in restaurants, convenience stores and food service operations<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">.&#160; The
      software component of BOHA! consists of a suite of software-as-a-service (&#8220;SaaS&#8221;)-based applications, including applications for temperature monitoring of food and equipment, timers, food safety labeling, media libraries, checklists and task lists
      and equipment service management.&#160; Any and all of these applications can be chosen by our customer and packaged into a single platform with the associated hardware, which includes the BOHA! terminal, handheld devices, tablets, temperature probes and
      temperature sensors and gateways. The BOHA! terminal combines the software and hardware components in a device that includes an operating system, touchscreen and one or two thermal print mechanisms that print easy-to-read food rotation labels,
      grab-and-go labels for prepared foods, nutritional labels and &#8220;enjoy by&#8221; date labels.&#160; The BOHA! Workstation is a hardware device that pairs two mechanisms with an Apple iPad utilizing an iOS operating system.&#160; Both the BOHA! terminal and BOHA!
      workstation are equipped with the TransAct Enterprise Management System to ensure that only approved applications and functions are available on the device and allows over-the-air updates to the applications and operating system.&#160; BOHA! helps food
      service establishments and restaurants (including fine dining, casual dining, fast casual and quick-serve restaurants, convenience stores, hospitality establishments and contract food service providers) effectively manage food safety and grab-and-go
      initiatives, as well as automate and manage back-of-house operations.&#160; Recurring revenue from BOHA! is generated by software sales, including software subscriptions that are charged to customers upfront on a per-application basis, as well as sales of
      labels, extended warranty and service contracts, and technical support services.&#160; In the food service technology market, we use an internal sales force to solicit sales directly from end users.</span></div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">POS automation:</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">&#160;</span>In the POS market, we sell a printer utilizing thermal printing technology.&#160; Our POS printer is used primarily by McDonald&#8217;s, and to a lesser extent,
    other quick-serve restaurants located either at the checkout counter or within self-service kiosks to print receipts for consumers or print on linerless labels.&#160; In the POS market, we primarily sell our products through a network of domestic and
    international distributors and resellers.&#160; We use an internal sales force to manage sales through our distributors and resellers, as well as to solicit sales directly from end-users.</div>

  <div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Casino and gaming:</span>&#160;
    We sell several models of printers used in slot machines and video lottery terminals (&#8220;VLTs&#8221;) and other gaming machines that print tickets or receipts instead of issuing coins (&#8220;ticket-in, ticket-out&#8221; or &#8220;TITO&#8221;) at casinos, racetracks and other gaming
    venues worldwide.&#160; These printers utilize thermal printing technology to print tickets and receipts in monochrome and offer various other features such as jam resistant bezels and a dual port interface that enables casinos to print coupons and
    promotions.&#160; In addition, we sell printers using thermal roll-fed printing technology for use in international non-casino establishments, including game types such as Amusements with Prizes, Skills with Prizes, Fixed Odds Betting Terminals, sports
    betting establishments and other off-premise gaming type machines around the world.&#160; We sell our casino and gaming products primarily (1) to slot machine manufacturers, who incorporate our printers into slot machines and, in turn, sell completed slot
    machines directly to casinos and other gaming establishments and (2) through distributors.&#160; We also maintain a dedicated internal sales force to solicit sales from slot machine manufacturers and casinos, and to manage sales through our distributors.</div>

  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We also offer a software solution, the EPICENTRAL Print System, including annual software maintenance, that enables casino operators to
    create promotional coupons and marketing messages and to print them in real time at the slot machine. With EPICENTRAL, casinos can utilize the system to create multiple promotions and incentives to either increase customer time spent on the casino
    floor or encourage additional visits to generate more revenue to the casinos.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Lottery:</span>&#160;
    Our lottery printers were designed for high-volume, high-speed printing of lottery tickets for various lottery applications.&#160; We previously sold lottery printers to International Gaming Technology and its subsidiaries (&#8220;IGT&#8221;), our largest customer and
    the world&#8217;s largest provider of lottery terminals.&#160; During 2019, we decided to exit this business and we expect no future sales beyond 2020.&#160; Sales of our lottery products were made directly to IGT and were managed by an internal sales representative
    before we exited the business in 2019.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Printrex:</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160; Printrex printers include wide format, desktop and rack-mounted and vehicle-mounted black and white thermal printers </span>used by customers to log and plot oil field, seismic
    and down hole well drilling data in the oil and gas exploration industry<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">.&#160; The Printrex brand of printers also includes high-speed color inkjet desktop printers used by oil
      and gas field service companies to print logs at data centers of the oil and gas field service companies.&#160; We primarily sell our Printrex products directly to oil field service and drilling companies and OEM&#8217;s, as well as through regional
      distributors in the United States, Europe, Canada and Asia.&#160; During&#160; 2021, we decided to exit this business and in the fourth quarter of 2021 fulfilled last buy orders to our legacy customers.&#160; We expect no future sales of our Printrex products
      beyond 2021.</span></div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">TSG</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">:&#160; </span>Through TSG, we proactively market the sale of consumable products (including POS receipt paper, ribbons and other printing supplies), replacement
    parts, maintenance and repair services, and shipping and handling charges.&#160; Our maintenance services include the sale of extended warranties, multi-year maintenance contracts, a 24-hour guaranteed replacement product service called TransAct Xpress&#8482; and
    other repair services for our non-FST products.&#160; Within the United States, we provide repair services through our service center in Ithaca, New York.&#160; Internationally, we provide repair services through our European service center located in Doncaster,
    UK, and through partners strategically located around the world.</div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">4</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We also provide customers with telephone sales and technical support, and a personal account representative to handle orders, shipping
    and general information.&#160; Technical and sales support personnel receive training on all our manufactured products and services.&#160; In addition to personalized telephone and technical support, we also market and sell consumable products 24 hours a day,
    seven days a week, via our webstore, <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"><span style="text-decoration: underline;">www.transactsupplies.com</span></span>.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Sources and Availability of Raw Materials</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We design our products to optimize product performance, quality, reliability and durability.&#160; These designs combine cost efficient
    materials, sourcing and assembly methods with high standards of workmanship.&#160; Almost all of our printers and terminals are produced by two third-party manufacturers located in Thailand and China.&#160; A small portion of our products are assembled in our
    Ithaca, New York facility largely on a configure-to-order basis using components and subassemblies that have been sourced from vendors and contract manufacturers around the world.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We procure component parts and subassemblies for use in the assembly of our hardware products in Ithaca, New York.&#160; Critical component
    parts and subassemblies include thermal print heads, printing/cutting mechanisms, power supplies, motors, injection molded plastic parts, LCD screens, circuit boards and electronic components, which are obtained from domestic and foreign suppliers at
    competitive prices.&#160; As a result of the majority of our production being performed by our contract manufacturers, the majority of our purchases consist of fully-assembled printers and terminals produced by our contract manufacturers and, to a much
    lesser extent, component parts.&#160; We typically strive to maintain more than one source for our component parts, subassemblies and fully assembled printers and terminals to reduce the risk of parts shortages or unavailability.&#160; However, we could
    experience temporary disruption if certain suppliers ceased doing business with us, as described below.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We currently buy a majority of our thermal print mechanisms, an important component of our thermal printers, and fully assembled
    printers for several of our printer and food service technology terminal models, from one foreign contract manufacturer in Thailand and to a lesser extent, one other foreign contract manufacturer in China.&#160; Although we believe that other contract
    manufacturers could provide similar thermal print mechanisms or fully assembled printers and terminals, on comparable terms, a change in contract manufacturers could cause a delay in manufacturing and possible loss of sales, which may have a material
    adverse effect on our operating results.&#160; Although we do not have supply agreements with our foreign contract manufacturers, our relationship with both remain strong and we have no reason to believe that either will discontinue their supply of thermal
    print mechanisms or fully assembled printers to us during 2022 or that their terms to us will be substantially less favorable than they have been historically.&#160; Due to the impact from Chinese tariffs starting in 2019, during 2020 and 2021, we
    increasingly transferred production from our contract manufacturer in China to our contract manufacturer in Thailand.&#160; We plan to continue transferring production to our Thailand-based contract manufacturer during 2022.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Patents and Proprietary Information</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct relies on a combination of trade secrets, patents, employee and third-party nondisclosure agreements, copyright laws and
    contractual rights to establish and protect its proprietary rights in its products.&#160; As of February 28, 2022, we hold 37 United States and 33 foreign patents and have 3 foreign patent applications pending pertaining to our products.&#160; The remaining
    duration of these patents ranges from 1 to 18 years.&#160; The expiration of any individual patent would not have a significant negative impact on our business.&#160; We regard certain manufacturing processes and designs to be proprietary and attempt to protect
    them through employee and third-party nondisclosure agreements and similar means.&#160; It may be possible for unauthorized third-parties to copy certain portions of our products or to reverse engineer or otherwise obtain and use, to our detriment,
    information that we regard as proprietary.&#160; Moreover, the laws of some foreign countries do not afford the same protection to our proprietary rights as do the laws of the United States. There can be no assurance that legal protections we rely upon to
    protect our proprietary position will be adequate or that our competitors will not independently develop technologies that are substantially equivalent or superior to our technologies.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Trademarks, Service Marks and Copyrights</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We own or have rights to trademarks, service marks, trade names and copyrights that we use in connection with the operation of our
    business, including our corporate names, logos and website names. Other trademarks, service marks and trade names appearing in this Form 10-K are the property of their respective owners.&#160; The trademarks we own include TransAct&#174;, BOHA!<sup>TM</sup>,
    AccuDate&#8482;, Epic, EPICENTRAL&#174;, Ithaca&#174; and Printrex&#174;. Solely for convenience, some of the trademarks, service marks, trade names and copyrights referred to in this Form 10-K are listed without the &#169;, &#174; and &#8482; symbols, but we will assert, to the fullest
    extent under applicable law, our rights to our trademarks, service marks, trade names and copyrights.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Seasonality</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Restaurants typically reduce purchases of equipment in the fourth quarter due to the increased volume of transactions during the
    holiday period, which may negatively impact sales of our food service technology products or POS printers.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Working Capital</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inventory, accounts receivable, and accounts payable levels, payment terms, and where applicable, return policies are in accordance
    with the general practices of the industry and standard business procedures.&#160; See also Item 7. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations.</div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">5</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Certain Significant Customers</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">IGT is our most significant customer, although to a lesser extent than in previous years, and has been since 1995.&#160; We sell casino and
    gaming printers and, prior to 2021, on-line lottery printers to IGT.&#160; On May 29, 2015, we signed an agreement with IGT to sell on-line lottery and casino printers to IGT on a non-exclusive basis through December 31, 2019.&#160;&#160; We decided not to renew the
    agreement upon its expiration and to exit the on-line lottery market.&#160; Although we no longer have an agreement with IGT, we expect to continue selling casino and gaming printers to IGT, as well as spare parts for our remaining, but declining, installed
    base of lottery printers, in the future.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Sales to IGT represented 9% and 15% of our total net sales for the years ended December 31, 2021 and 2020, respectively.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Backlog</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our backlog of firm orders was approximately $14.2 million as of February 28, 2022, compared to $3.4 million as of February 28, 2021.&#160;
    The increase in firm orders as of February 28, 2022 compared to February 28, 2021 is due primarily to advance orders placed by our casino and gaming customers due to increased production lead time, resulting from worldwide supply chain shortages caused
    by the pandemic.&#160; Based on customers&#8217; current delivery requirements, we expect to fill and recognize as revenue $13.7 million of our current backlog during 2022, $0.4 million during 2023 and the remaining balance of the amount during 2024.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Competition</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The market for transaction-based and specialty printers and food service technology terminals is extremely competitive, and we expect
    such competition to continue in the future.&#160; However, we experience less competition for EPICENTRAL software due to the highly customized nature of the product.&#160; We compete with a number of companies, many of which have greater financial, technical and
    marketing resources than TransAct.&#160; We believe our ability to compete successfully depends on a number of factors both within and outside our control, including durability, reliability, quality, design capability, product customization, price, customer
    support, success in developing new products, manufacturing expertise and capacity, supply of component parts and materials, strategic relationships with suppliers, the timing of new product introductions by us and our competitors, general market,
    economic and political conditions and, in some cases, the uniqueness of our products.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">In the food service technology market, we primarily
      compete with Zenput, Squadle Inc., Jolt Software, Avery Dennison Corporation, Ecolab Inc., ITD Food Safety, CMC Daymark, Integrated Control Corp, Digi International, and Toast.&#160; We compete in this market based largely on our ability to provide highly
      specialized software and purpose-built hardware products and ongoing technical support.&#160; </span>We rely upon third-party developed software and hosting services combined with our own proprietary hardware and software to offer a unique BOHA! branded
    solution to support back-of-house operations in the food service industry.&#160; Our competitors or others may develop, or may establish relationships with developers with the capability to develop, software and services that are similar to or competitive
    with ours, which may be disadvantageous to our competitive position.&#160; Certain portions of our food service technology software are licensed from a third-party developer on a non-exclusive basis through 2031 and are subject to a revenue sharing
    arrangement with the developer. We are reliant upon the third-party developer to further develop and maintain its developed software, and the developer controls the software source code. The license agreement does not preclude the developer from
    working with others on similar products. Also, the third-party developer hosts the web-based applications.&#160; Therefore, presently, we are highly dependent upon this third-party developer for continued service to our customers and the further development
    of our food service technology software products.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In the POS automation market, we primarily compete with Epson America, Inc., which holds a dominant market position.&#160; We also compete,
    to a much lesser extent, with Star Micronics America, Inc. and Citizen -- CBM America Corporation.&#160; Certain competitors of ours have greater financial resources and lower costs attributable to higher volume production which enables them to occasionally
    offer lower prices than us.&#160; However, we will continue to deemphasize efforts in the POS automation market going forward as we have shifted our focus toward our higher-value, technology-enabled food service technology and casino and gaming products.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In the casino and gaming market (consisting principally of slot machine printing, VLT transaction printing and promotional coupon
    printing), we compete with several companies including JCM Global, Nanoptix, Inc., Custom Engineering SPA, Eurocoin and others.&#160; Certain of our products sold for casino and gaming applications compete based upon our ability to provide highly
    specialized products, custom engineering and ongoing technical support.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In the lottery market (consisting principally of on-line lottery transaction printing), we competed with other lottery printer
    providers such as Custom Engineering SPA, Star Micronics and Wincor Nixdorf.&#160; However, we exited the lottery market in 2019 and shifted our focus toward our higher-value, technology enabled food service technology and casino and gaming products.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In the oil and gas market, our Printrex products competed primarily with the products of Imaging Systems Group, Inc. and Neuralog Inc.&#160;
    However, we exited the oil and gas market at the end of 2021 in order to shift our focus toward our higher-value, technology enabled food service technology and gaming products.</div>

  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The market in which TSG competes is highly fragmented, and we compete with numerous competitors of various sizes, including POS and
    internet resellers and paper converters depending on the geographic area.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our strategy for competing in our markets is to continually develop and/or license new products (hardware and software), such as
    launching BOHA! in 2019, and product line extensions that are technologically advanced and provide differentiated features and functions, to increase our market penetration, to take advantage of strategic relationships, and to lower the cost of our
    products by sourcing certain products overseas.&#160; Although we believe that our products, operations and relationships provide a competitive foundation, there can be no assurance that we will compete successfully in the future.&#160; In addition, our products
    utilize certain thermal printing technologies and licensed software.&#160; If new technologies are introduced, or existing technologies evolve, we may be required to incorporate these technologies into our products.&#160; Alternatively, if such technologies were
    to become available to our competitors, our products could become obsolete, which could have a significant negative impact on our business.</div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">6</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Environmental Compliance</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our compliance with federal, state and local laws and regulations relating to environmental protection and discharge of hazardous
    materials has not had a material impact on our capital expenditures, earnings or competitive position, and we do not anticipate any material impact from such compliance in the future.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Available Information</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We make available free of charge through the &#8220;Investor Relations&#8221; tab on our Internet website, www.transact-tech.com, our Annual Report
    on Form 10-K, quarterly reports on Form 10-Q, current reports on Form 8-K, proxy statements and all amendments to those reports and statements as soon as reasonably practicable after such material is electronically filed with or furnished to the SEC
    pursuant to Sections 13(a) or 15(d) of the Securities Exchange Act of 1934, as amended (the &#8220;Exchange Act&#8221;).&#160; The SEC maintains an internet site that contains reports, proxy and information statements, and other information regarding issuers that file
    electronically with the SEC at http://www.sec.gov.&#160; The content on any website referred to in this Form 10-K is not incorporated by reference in this Form 10-K unless expressly noted.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Employees</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">As of December 31, 2021, TransAct and our subsidiaries employed 118 persons, all of whom were full-time employees.&#160; None of our
    employees are unionized, and we consider our relationships with our employees to be good.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Information about our Executive Officers</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following is a list of the names and ages of all executive officers of the registrant, indicating all positions and offices with
    the registrant held by each such person and each person&#8217;s principal occupations and employment during at least the past five years.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 26.26%; vertical-align: bottom; border-bottom: #000000 2px solid;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Name</div>
        </td>

    <td style="width: 1.01%; vertical-align: bottom;">&#160;</td>

    <td style="width: 7.35%; vertical-align: bottom; border-bottom: #000000 2px solid;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Age</div>
        </td>

    <td style="width: 1.96%; vertical-align: bottom;">&#160;</td>

    <td style="width: 63.42%; vertical-align: bottom; border-bottom: #000000 2px solid;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Position</div>
        </td>

  </tr>

  <tr>

    <td style="width: 26.26%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Bart C. Shuldman</div>
          </div>
        </td>

    <td style="width: 1.01%; vertical-align: bottom; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 7.35%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">64</div>
          </div>
        </td>

    <td style="width: 1.96%; vertical-align: bottom; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 63.42%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Chairman of the Board and Chief Executive Officer</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="width: 26.26%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Steven A. DeMartino</div>
          </div>
        </td>

    <td style="width: 1.01%; vertical-align: bottom; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 7.35%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">52</div>
          </div>
        </td>

    <td style="width: 1.96%; vertical-align: bottom; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 63.42%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">President, Chief Financial Officer, Treasurer and Secretary</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="width: 26.26%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Tracey S. Chernay</div>
          </div>
        </td>

    <td style="width: 1.01%; vertical-align: bottom; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 7.35%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">62</div>
          </div>
        </td>

    <td style="width: 1.96%; vertical-align: bottom; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 63.42%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Senior Vice President, Casino, Gaming and Lottery Sales</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="width: 26.26%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Andrew J. Hoffman</div>
          </div>
        </td>

    <td style="width: 1.01%; vertical-align: bottom; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 7.35%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">64</div>
          </div>
        </td>

    <td style="width: 1.96%; vertical-align: bottom; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 63.42%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Senior Vice President, Operations</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="width: 26.26%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">David B. Peters</div>
          </div>
        </td>

    <td style="width: 1.01%; vertical-align: bottom; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 7.35%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">43</div>
          </div>
        </td>

    <td style="width: 1.96%; vertical-align: bottom; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 63.42%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Vice President and Chief Accounting Officer</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="width: 26.26%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Brent Richtsmeier</div>
          </div>
        </td>

    <td style="width: 1.01%; vertical-align: bottom; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 7.35%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">57</div>
          </div>
        </td>

    <td style="width: 1.96%; vertical-align: bottom; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 63.42%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Chief Technology Officer</div>
          </div>
        </td>

  </tr>


</table>
  <div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Bart C. Shuldman has been Chief Executive Officer and a Director of the Company since its formation in June 1996.&#160; In February 2001,
    Mr. Shuldman was elected Chairman of the Board.&#160; Mr. Shuldman served as President of the Company from its formation until June 2010, when he relinquished the President title to focus on new products and markets, international expansion and potential
    acquisitions.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Steven A. DeMartino was named as TransAct&#8217;s President, Chief Financial Officer, Treasurer and Secretary on June 1, 2010.&#160; Previously,
    Mr. DeMartino served as Executive Vice President, Chief Financial Officer, Treasurer and Secretary from June 2004 to May 2010, Senior Vice President, Finance and Information Technology from October 2001 to May 2004, Vice President and Corporate
    Controller from January 1998 to October 2001, and Corporate Controller from August 1996 to December 1997.&#160; Mr. DeMartino is a certified public accountant.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Tracey S. Chernay was appointed Senior Vice President, Casino and Gaming Sales and Marketing in June 2010, with responsibility for the
    sales and marketing of all casino and gaming products.&#160; Previously, Ms. Chernay served as Senior Vice President, Sales and Marketing from June 2007 to May 2010, Senior Vice President, Marketing and Sales, POS and Banking with the Company from July 2006
    to June 2007, and joined TransAct in May of 2005 as Senior Vice President, Marketing.&#160; Prior to joining TransAct, Ms. Chernay was employed with Xerox Corporation where she held the role of Manager, Worldwide Marketing since 2003, and Manager, Sales
    Operations from 2000 to 2002.&#160; She joined Xerox Corporation in 1983.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Andrew J. Hoffman was appointed Senior Vice President, Operations for TransAct in November 2004.&#160; He served as Vice President,
    Operations from September 1994 to November 2004.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">David B. Peters was appointed Vice President and Chief Accounting Officer on March 1, 2018.&#160; Previously, Mr. Peters served as Director,
    SEC and Financial Reporting since joining TransAct in March 2014.&#160; Prior to joining TransAct, Mr. Peters was employed with United Technologies Corporation from November 2006 to March 2014 where he served in various financial management positions.&#160; Mr.
    Peters is a certified public accountant.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Brent Richtsmeier was named as Chief Technology Officer in
      September 2021.&#160; Previously, Mr. Richtsmeier served as Senior Vice President, Software Engineering since joining TransAct in December 2019 and was appointed as an officer of the Company in January 2021.&#160; </span>Prior to joining TransAct, Mr.
    Richtsmeier was employed with Samsung, an electronics corporation, from May 2004 until November 2017 as the VP of Development where he was responsible for software strategy, software development at scale and business development.&#160; In November 2017,
    Samsung Electronics sold their business products division to HP Inc, and Mr. Richtsmeier transferred to HP Inc to become the Global Head of Cloud and Mobile Software Solutions until joining TransAct in 2021.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">There are no family relationships between any of our executive officers and there is no arrangement or understanding between any of
    such officers and any other person pursuant to which he or she was selected as an officer.&#160; Each of our executive officers was elected by the Board of Directors to hold office until his or her successor is elected and qualified or until his or her
    earlier resignation or removal.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">7</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 1A. Risk Factors</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Investors should carefully consider the risks, uncertainties and other factors described below, as well as other disclosures in Item 7.
    Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations, because they could have a material adverse effect on our business, financial condition, operating results, and growth prospects.&#160; The risks described below are not
    the only ones facing our Company.&#160; Additional risks and uncertainties not presently known to us, or that we currently believe to be immaterial, may also impair our business operations.&#160;&#160; In the event that such risks or uncertainties materialize, our
    business, financial condition, and results of operations could be materially adversely affected.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We assume no obligation (and specifically disclaim any such obligation) to update these Risk Factors or any other forward-looking
    statements contained in this Form 10-K to reflect actual results, changes in assumptions or other factors affecting such forward-looking statements, except as required by law.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Risks Related to our Business</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We experienced a net loss in 2020 and 2021, anticipate increasing expenses in the future, and we
    may not be able to achieve, maintain or increase profitability in the future.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We incurred a net loss of $5.6 million and $4.1 million in 2020 and 2021, respectively,, we anticipate increasing expenses in the
    future, and we may not be able to achieve, maintain or increase profitability in the future. We expect our costs to increase over time and our losses to continue as we expect to invest significant additional funds towards growing our food service
    technology business and transitioning away from other lines of business. We have expended and expect to continue to expend substantial financial and other resources on developing our food service technology business, including expanding our offerings,
    developing or acquiring new products and services and increasing our sales and marketing efforts. These efforts may be more costly than we expect and may not result in increased revenue or growth in our food service technology business. Any failure to
    increase our revenue sufficiently to keep pace with our investments and other expenses could prevent us from achieving, maintaining or increasing profitability or positive cash flow on a consistent basis. If we are unable to successfully address these
    risks and challenges as we encounter them, our business, financial condition, and results of operations could be adversely affected.&#160; If we are unable to generate adequate revenue growth and manage our expenses, we may continue to incur significant
    losses in the future and may not be able to achieve, maintain or increase profitability</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Our operating results and financial condition may fluctuate.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our operating results and financial condition may fluctuate from quarter-to-quarter and year-to-year and are likely to continue to vary
    due to a number of factors, many of which are not within our control.&#160; If our operating results do not meet the expectations of securities analysts or investors, who may derive their expectations by extrapolating data from recent historical operating
    results, the market price of our common stock will likely decline.&#160; Fluctuations in our operating results and financial condition may be due to a number of factors, including, but not limited to, those identified below and throughout this &#8220;Risk
    Factors&#8221; section:</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">delays between our expenditures to develop and market new or enhanced products and consumables and the generation of sales from those products;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">the geographic distribution of our sales and our supply chain;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">market acceptance of our products, both domestically and internationally;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">development of new competitive products by others;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">our responses to price competition;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">our level of research and development activities;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">changes in the amount that we spend to develop, acquire or license new products, consumables, technologies or businesses;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">changes in the amount we spend to promote our products and services;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">changes in the cost of satisfying our warranty obligations and servicing our installed base of products;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">availability of third-party components at reasonable prices;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">general economic and industry conditions, including changes in interest rates affecting returns on cash balances and investments, that affect customer demand;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">the dependence of of our supply chain on a few, foreign third-party manufacturers and suppliers and the impact on our supply chain of product or component shortages and
            cost increases due to events beyond our control, including the COVID-19 pandemic and political or social instability such as the ongoing Russia-Ukraine conflict;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">severe weather events, public health crises, military actions and other external events out of our control that can disrupt our operations or the operations of our
            customers&#8217; or suppliers&#8217; facilities; and</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">changes in accounting rules.</div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Due to all of the foregoing factors, and the other risks discussed in this Form 10-K, quarter-to-quarter comparisons of our operating
    results may not be an indicator of future performance.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">8</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">The COVID-19 pandemic has had, and is likely to continue to have, an adverse impact on our
    business, operations, financial condition, results of operations and capital resources, <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">as well as on the operations and financial performance of many of our customers and
      suppliers. We are unable to predict the ultimate extent to which the pandemic and related effects will adversely impact our business, operations, financial condition, results of operations, capital resources and the achievement of our strategic
      objectives.</span></div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">As a result of the COVID-19 pandemic and the numerous disease control measures taken to limit the spread of COVID-19, we have
    experienced, and can be expected to continue to experience, disruptions to our business, our operations, the delivery of our products and customer demand for our products, including the following:</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">operating losses in excess of those we anticipated in transitioning our business focus toward the food service technology market, which, in addition to the factors
            discussed below, may require us to seek to obtain additional capital through debt or equity financings or other arrangements to fund operations, or if such arrangements are not available, to take additional significant cost-cutting measures<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">;</span></div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">supply chain disruptions, including delayed product shipments from two contract manufacturers located in Thailand and China that conduct substantially all of our printer
            and BOHA! hardware manufacturing, which, if sustained, could lead to insufficient inventory levels and harm our ability to deliver products to our customers on time or at all, and cost increases as a result of such supply chain disruptions<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">;</span></div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">continuing or new restrictions on the operations of our customers in the casino industry and food service industry, including, in some cases, partial or complete business
            shutdowns, which have resulted in, and are likely to continue to result in, reduced demand for our products in the two primary markets that we serve<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">;</span></div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">an inability of our customers to make payments in a timely fashion or at all, in the event that the downturn in economic conditions persist<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">;</span></div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">devotion of significant time, management attention and resources to monitoring the COVID-19 pandemic and its impacts, and anticipated impacts, on our business, and
            seeking to mitigate the effects of the pandemic on our business and workforce, which diverts management&#8217;s attention and resources away from strategic initiatives, new business opportunities, the transition of our business toward the food
            service and casino and gaming markets, and the overall profitability of our&#160; business<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">;</span></div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">a possible future reduction in the value of goodwill or other intangible assets causing the carrying value of such assets to exceed their fair value, which could require
            us to recognize asset impairment<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">;</span></div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">difficulty predicting our manufacturing requirements accurately due to volatile economic conditions, which could result, in the case of an underestimate, in inadequate
            manufacturing capacity or inventory, interruptions in production and delayed deliveries to customers (with resulting losses in orders or customers lowering our net sales), or in the case of an overestimate, in an excess inventory of component
            parts or manufactured products<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">;</span></div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">increases in prices and/or decreases in availability of component parts and raw materials needed to produce our products<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">;</span></div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">foreign exchange rate fluctuations due to volatile global economic conditions, which could negatively affect earnings and the value of our assets held outside the United
            States, and if we increase prices to absorb a portion of the currency impact, could cause demand to decrease<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">;</span></div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">volatility of, and decreases in, trading prices of our common stock<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">; and</span></div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">t</span>he possibility that we may need to raise additional capital through an equity or debt
            financing to support operations but are unable to do so due to, among other things, global economic conditions, conditions in the global financing markets, trading prices of our common stock and the outlook for the industries that we serve, all
            of which could be negatively impacted by the COVID-19 pandemic, such that there can be no assurance that such financing would be available to us.</div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">If we issue equity or debt securities to raise additional funding, our existing shareholders may experience dilution and we may incur
    significant financing costs.&#160; If we issue debt securities or otherwise incur additional debt, we would have additional debt service obligations, could become subject to additional restrictions limiting our ability to operate our business, and may be
    required to further encumber our assets.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The resulting impacts from the COVID-19 pandemic continue to evolve rapidly, and additional material impacts and disruptions may occur.
    The factors described above, which may worsen, have had and, along with other factors that we cannot predict, can be expected to continue to have, a material adverse impact on our business, operations, financial condition, results of operations and
    capital resources.&#160; The ultimate impact of the COVID-19 pandemic on the Company is highly uncertain and subject to change and will depend on future developments, which cannot be accurately predicted, including the duration of the pandemic, additional
    or modified government actions, new information that may emerge concerning the severity and impact of the COVID-19 pandemic, newly identified strains of COVID-19, vaccination rates and effectiveness of vaccines and treatments and the actions taken to
    contain COVID-19 or address its impact in the short and long term, among others. We do not yet know and cannot predict the full extent of potential impacts on our business, operations, financial condition, results of operations and capital resources.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In addition, any of the risks and uncertainties set forth in this Form 10-K can be expected to be further heightened by the COVID-19
    pandemic and have a material adverse effect on the Company&#8217;s business, prospects, financial condition, results of operations and capital resources and the achievement of our strategic objectives</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">9</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We purchase component parts and consumable products from third-party and sole source suppliers,
    and any interference with this supply chain may impact our ability to manufacture and sell our products.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We rely on third-party or sole source suppliers to provide certain key components for our products including BOHA! labels.&#160; We do not
    have guaranteed supply contracts with any of our component suppliers, and our suppliers could delay shipments, increase prices or cease manufacturing or selling such components to us at any time, including as a result of the current global microchip
    shortage.&#160; For example, in December 2021, one of our suppliers of certain printer components notified us that they would not fulfill an order.&#160; Although we were able to source the component from another supplier, the disruption resulted in a delay.&#160;
    These supply chain disruptions have impacted, and are expected to continue to impact, our ability to maintain sufficient inventory on hand, which has necessitated payment of increased shipping charges to expedite products.&#160; In addition, we have
    incurred increased costs to obtain certain products and components from alternate suppliers when our usual suppliers did not have products available for us.&#160; Cost increases and component shortages may be exacerbated by events beyond our control, such
    as changing economic conditions, inflation, currency and commodity price fluctuations, tariffs, resource availability, transportation costs, weather conditions and natural disasters, political unrest and instability, war (such as the ongoing military
    conflict between Russia and Ukraine) and other factors impacting supply and demand pressures.&#160; In particular, the conflict between Russia and Ukraine may materially and adversely affect our supply chain for materials, parts and components.&#160; Continued
    or worsening disruptions in the supply chain of such component parts and consumable products could delay our production or release of our new products, cause us to incur additional freight costs and hinder our ability to meet our commitments to
    customers. If we are unable to obtain sufficient quantity of these components on commercially reasonable terms or in a timely manner, or if we are unable to obtain alternative sources for the components, sales of our products could be delayed or halted
    entirely or we may be required to redesign our products.&#160; There can be no assurance that any cost increases attributable to supply chain disruptions can be fully offset by price increases, or that we will continue to be able to fulfill orders on time
    or at all, and continued or prolonged impacts on our supply chain may result in lost sales, reduced gross margins or damage to our end-customer relationships, which would have a material adverse effect on our financial results.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Our revenue and profitability depend on our ability to continue to develop or license, on a
    timely basis, new products and technologies which are free from hardware or software anomalies and cannot be fraudulently manipulated, and customer acceptance of such products.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our success depends upon our and our development partners&#8217; ability to timely adapt our capabilities and processes to meet the demands
    of producing new and innovative products.&#160; Because our newer products contain software and generally are more technologically sophisticated than those we have produced in the past, we must continually refine our capabilities to meet the needs of our
    product innovation.&#160; If we cannot efficiently adapt our infrastructure to meet the needs of our product innovations in a timely manner, our business could be negatively impacted.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">In addition, even if we, or developers on our behalf,
      successfully develop such products, there is no assurance that our innovations will be accepted by our customers.&#160; Developing and marketing new products, such as our BOHA! ecosystem, is costly, and our business could be materially adversely affected
      if we are unable to generate sales of such products or if our existing or new customers do not quickly accept such products.&#160; Customer acceptance is crucial because new products typically have little competition and market penetration due to their
      novelty.&#160; Customer acceptance of new products is never assured and may take time to materialize, even with respect to products developed with customer input.&#160; Further, technological innovation often results in unintended consequences such as bugs,
      vulnerabilities, and other&#160;system failures. Any such bug, vulnerability, or failure, especially in connection with a significant technical implementation or change, could result in lost business, harm to our brand or reputation, consumer complaints,
      and other adverse consequences, any of which could materially adversely affect our business, results of operations, and financial condition.</span></div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We rely on an unrelated third-party to develop, maintain and host certain portions of our food
    service technology software, and any disruption in the relationship with that third-party, or any defects in the software provided by that third-party, could have a material adverse effect on our reputation, business, financial condition and results of
    operations.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We rely upon third-party developed software and hosting services combined with our own proprietary hardware and software to offer our
    unique BOHA! branded solution to support back-of-house operations in the food service industry.&#160; Certain web-based food service application software and selected components of our downloadable software applications are licensed from a third-party
    developer on a non-exclusive basis through 2031 and are subject to a revenue sharing arrangement with the developer. We are reliant upon the third-party developer to further develop and maintain its developed software, and the developer controls the
    software source code.&#160; Therefore, presently, we are highly dependent on this third-party developer for continued service to our customers and the further development of our food service technology software products.&#160; If the software provider were to
    terminate operations or otherwise be unavailable to provide maintenance, hosting and development services to us and our customers, the availability or usage of our software products could be disrupted and our customers could be adversely affected.&#160; In
    any such case, we may need to seek comparable software and services from other third-parties or develop it internally, which could require significant time and expense. There can be no assurance that such software or services would be available from
    other sources, or that if available, they would be of comparable quality and cost.&#160; Moreover, any efforts to develop new software, whether internal or by third-parties, would require significant lead time, and there could be an interruption in service
    during any period in which the software provider ceases to provide products and services and new products remain under development. Any such occurrence could materially and adversely impact our business, financial condition and results of operations.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Any errors or defects in, or failures of, third-party software or applications could result in errors or defects in or failures of our
    food service technology products and services, which could be costly to correct and have a material adverse effect on our reputation, business, financial condition and results of operations</div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">10</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We compete in highly competitive markets, which are likely to become more competitive.
    Competitors may be able to respond more quickly to new or emerging technology and changes in customer requirements.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We face significant competition in developing and selling our printers, terminals, software, consumables and services.&#160; Our principal
    competitors have substantial marketing, financial, development and personnel resources.&#160; To remain competitive, we believe we must continue to provide:</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">technologically advanced products that satisfy user demands;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">superior customer service;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">high levels of quality and reliability; and</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">dependable and efficient distribution networks.</div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We cannot ensure we will be able to compete successfully against current or future competitors.&#160; Increased competition may result in
    price reductions, lower gross profit margins and loss of market share, and could require increased spending on research and development, sales and marketing and customer support.&#160; Some competitors may make strategic acquisitions or establish
    cooperative relationships with suppliers or companies that produce complementary products, which may include relationships with our software developer.&#160; Any of these factors could reduce our earnings.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Our success will depend on our ability to sustain and manage growth.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">As part of our business strategy, we intend to pursue a growth strategy.&#160; Assuming this growth occurs, it will require the expansion of
    customer relationships in international markets, the successful development and marketing of new products for our existing and new markets, expanded internal sales and marketing, customer service and support, and the continued implementation and
    improvement of our operational, financial and management information systems.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">To the extent that we seek growth through acquisitions, our ability to manage our growth will also depend on our ability to integrate
    businesses that have previously operated independently.&#160; We may not be able to achieve this integration without encountering difficulties or experiencing the loss of key employees, customers or suppliers.&#160; It may be difficult to design and implement
    effective financial controls for combined operations and differences in existing controls for each business may result in weaknesses that require remediation when the financial controls and reporting functions are combined.&#160; As we pursue acquisitions,
    we may incur legal, accounting and other transaction-related expenses for unsuccessful acquisition attempts that could adversely affect our results of operations in the period in which they are incurred.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">There can be no assurance that we will be able to successfully implement our growth strategy, or that we can successfully manage
    expanded operations, if they occur.&#160; As we expand, we may from time to time experience constraints that will adversely affect our ability to satisfy customer demand in a timely fashion.&#160; Failure to manage growth effectively could adversely affect our
    results of operations and financial condition.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We are dependent on sales to one large customer; the loss of this customer or reduction in
    orders from this customer could materially affect our sales.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Casino and gaming sales and lottery spare part sales to IGT represent a material percentage of our net sales.&#160; A reduction, delay or
    cancellation in orders from this customer, including reductions or delays due to market, economic, or competitive conditions in the industries in which we serve, could have a material adverse effect upon our results of operations.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">General economic conditions could have a material adverse effect on our business, operating
    results and financial condition.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our business is subject to general economic conditions.&#160; Uncertainty or negative trends in U.S. or international economic and
    investment climates, including the impact of developments in U.S.-China trade relations (discussed separately below), as well as economic impacts from the Russia-Ukraine conflict (including increased fuel prices) and the current inflation surge
    attributable to supply chain disruptions due to the COVID-19 pandemic, could adversely affect our business.&#160; For example, customers or potential customers could reduce or delay orders, key suppliers could become insolvent, which could result in
    production delays, and our customers may become insolvent or be unable to obtain credit.&#160; Any of these possible effects could impact our ability to effectively manage inventory levels and collect receivables, create unabsorbed costs due to lower net
    sales, and ultimately decrease our net sales and profitability including write-downs of assets.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">If market conditions deteriorate or future results of operations are less than expected, a
    valuation allowance may be required for all or a portion of our deferred tax assets.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We currently have deferred tax assets, which may be used to reduce taxable income in the future.&#160; We assess the realization of these
    deferred tax assets on a quarterly basis, and if we determine that it is more likely than not that some portion of these assets will not be realized, an income tax valuation allowance is recorded.&#160; If market conditions deteriorate or future results of
    operations are less than expected, or there is a change to applicable tax rules, future assessments may result in a determination that it is more likely than not that some or all of our net deferred tax assets are not realizable.&#160; As a result, we may
    need to establish a valuation allowance for all or a portion of our net deferred tax assets, which may have a material adverse effect on our business, results of operations and financial condition.</div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">11</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We rely on distributors and resellers to sell our products and services.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We use a variety of distribution channels, including OEMs and distributors, to market and sell our products and services.&#160; We may be
    adversely impacted by any conflicts that could arise between and among our various sales channels.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our dependence upon distributors and resellers exposes us to numerous risks, including:</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">loss of channel and the ability to bring new products to market;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">concentration of credit risk, including disruption in distribution should the distributors, and / or resellers&#8217; financial condition deteriorate;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">reduced visibility to end user demand and pricing issues which makes forecasting more difficult;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">distributors or resellers leveraging their buying power to change the terms of pricing, payment and product delivery schedules; and</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">direct competition should a distributor or reseller decide to manufacture printers internally or source printers from a competitor.</div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We cannot guarantee that resellers will not reduce, delay or eliminate purchases from us, which could have a material adverse effect upon
    the business, consolidated results of operations and financial condition.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We are dependent upon two manufacturers located in Thailand and China for the manufacturing and
    assembly of our printers and terminals, and their operations were disrupted by the outbreak of COVID-19. The disruption adversely affected the Company&#8217;s business, financial conditions and results of operations, and any further or future disruption in
    their businesses or operations, such as those caused by political, social or economic instability, war, trade restrictions or tariffs, severe weather, additional public health crises and other events out of our control, could materially adversely
    affect our business, financial condition and results of operations.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In an effort to maximize cost savings and operation benefits, we have outsourced substantially all of the manufacturing and assembly of
    our printers and terminals to two contract manufacturers located in Thailand and China.&#160; As a result, we are dependent on them for the manufacturing of our products, and any disruption in such manufacturing or the export of products from these
    manufacturers to the U.S. may adversely affect our business, financial condition and results of operations.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Risks affecting the businesses and operations of our two manufacturers in Asia include: political and regional strife; war; labor
    shortages; severe weather and natural disasters such as earthquakes, hurricanes, fires, and floods; lengthy power outages; increased pricing, financial instability and capacity constraints of shippers; and concerns with or threats of public health
    crises, contagious diseases or health epidemics.&#160; The risk to our business posed by any disruption in manufacturing is exacerbated by the concentration of our manufacturing operations in two manufacturers both located in Asia.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In response to COVID-19, the Chinese government placed restrictions on travel and mandated business closures. Such restrictions and
    closures disrupted our supply chain by delaying product shipments from our contract manufacturers during 2020 and is continuing into 2022.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The ultimate impact of COVID-19 on our operations will depend on future developments, which are highly uncertain and cannot be
    predicted with confidence, including the duration of the outbreak and any resurgences, new information which may emerge concerning the severity of COVID-19 and newly identified strains, the rollout and effectiveness of vaccines and treatments and the
    actions to contain the virus or treat its impact, among others.&#160; Without the contract manufacturers continuing to manufacture our products and the continuing operation of the contract manufacturers&#8217; facilities, we will have limited means for the final
    assembly of a majority of our products until we are able to secure the manufacturing capability at another facility or develop an alternative manufacturing facility, which could be costly and time consuming and have a material adverse effect on our
    operating and financial results.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We may also incur increased business continuity and reputational risks to the extent that we continue to outsource the manufacturing
    and assembly of our products to foreign third-party service providers.&#160; For example, outsourcing of manufacturing prevents us from exercising control over the assembly of certain of our products and related operations or processes, including the
    internal controls associated with operations and processes conducted and the quality of our products assembled by contract manufacturers.&#160; If we are unable to effectively manage and oversee our outsourcing strategy, we may not realize cost structure
    efficiencies and our operating and financial results could be materially adversely affected.&#160; Outsourcing also exposes us to increased risk of infringement or misappropriation of our intellectual property, to which our manufacturers have access.&#160;
    Because our manufacturers are located in Asia, there is no guarantee that our intellectual property rights will be protected or enforced to the same extent as under U.S. federal and state laws. Consequently, we may not be able to prevent third-parties
    from developing or selling products made using our technologies.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Overestimates or underestimates in our manufacturing forecasts could cause us to hold excess
    inventory or result in delays in the manufacturing and delivery of our products, which could cause us to lose orders or customers.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">If we fail to predict our manufacturing requirements accurately, we could incur additional costs or experience manufacturing delays,
    which could cause us to lose orders or customers and result in lower net sales. We currently use a rolling 12-month forecast based primarily on our anticipated product orders and our product order history to help determine our requirements for
    components and materials. It is important that we accurately predict both the demand for our products and the lead-time required to obtain the necessary components and raw materials.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Lead times for materials and components that we order vary significantly and depend on factors such as the specific supplier, the size
    of the order, contract terms, and demand for each component at a given time, as well as supply shortages with respect to raw materials needed to produce the components. If we underestimate our requirements, or if we are unable to obtain components on
    time due to supply shortages, as has occurred in the wake of the COVID-19 pandemic, we may have inadequate manufacturing capacity or inventory, which could interrupt manufacturing of our products and result in delays in shipments and net sales. If we
    overestimate our requirements, we could have excess inventory of parts and finished products. In addition, delays in the manufacturing of our products could cause us to lose orders or customers.</div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">12</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">In addition to maintaining offices in the UK and Macau, we sell and ship a significant portion
    of our products internationally and rely on third-parties that make up our global salesforce.&#160; The international nature of our operations may expose us to certain risks associated with doing business outside of the U.S., including risks posed by
    tariffs and changes in trade relations.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We sell a significant amount of our products to customers outside the United States. Shipments to international customers are expected
    to continue to account for a material portion of net sales. In addition, our manufacturers and suppliers are largely located in Asia.&#160; As a result, our products are largely exported to one of our facilities in the United States, which makes our
    operations vulnerable to disruptions in trade that could adversely affect our business results.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our international operations, including our reliance on manufacturers and suppliers located in Asia, our worldwide sales team, and our
    sales to customers located outside the United States, expose us to disruptions in trade and other associated risks such as:</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">the imposition of additional duties, tariffs, quotas, taxes, trade barriers, capital flow restrictions and other charges on imports and exports by the United States or
            the governments of the countries in which we or our manufacturers and suppliers operate;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">delays in the delivery of cargo due to port security considerations, labor disputes such as dock strikes, and our reliance on a limited number of shipping and air
            carriers, which may experience capacity issues that adversely affect our ability to ship inventory in a timely manner or for an acceptable cost;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">fluctuations in the value of the U.S. Dollar against foreign currencies, which could restrict sales, or increase costs of purchasing, in foreign countries;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">economic or political instability in any of the countries in which we or our manufacturers or suppliers operate, which could result in a reduction in demand for our
            products due to political and economic instability or impair our foreign assets;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">a reduced ability or inability to sell in or purchase from certain markets as a result of export or import restrictions;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">potentially limited intellectual property protection in certain countries, such as China, may limit recourse against infringing products or cause us to refrain from
            selling in certain geographic territories;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">reliance on a limited number of shipping and air carriers who may experience capacity issues that adversely affect our ability to ship inventory in a timely manner or for
            an acceptable cost; and</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">economic uncertainties and adverse economic conditions (including inflation and recession).</div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Although we carry business interruption insurance to cover lost revenue and profits in an amount we consider adequate, this insurance
    does not cover all possible situations.&#160; In addition, the business interruption insurance would not compensate us for the loss of opportunity and potential adverse impact, both short-term and long-term, on relations with our existing customers
    resulting from our inability to produce products for them.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Catastrophic events or a downturn in economic conditions may disrupt our business.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Geopolitical events, social unrest, war, including repercussions of the recent military conflict between Russia and Ukraine, terrorism,
    political instability, acts of public violence, boycotts, labor discord or disruptions, hostilities, social unrest, pandemics (in addition to the COVID-19 pandemic), natural disasters or other catastrophic events may cause damage or disruption to our
    operations, international commerce, and the global economy, and thus could harm our business. In particular, the reactions of governments, markets, and the general public to such events, many of which are beyond our control, may result in a number of
    adverse consequences for our customers, business, operations, and results of operations. In the event of a major earthquake, hurricane or catastrophic event such as fire, power loss, telecommunications failure, cyber-attack, war or terrorist attack, we
    may be unable to continue our operations and may endure system interruptions, reputational harm, breaches of data security, and loss of critical data, all of which would harm our business, results of operations, and financial condition. In addition,
    the insurance we maintain would likely not be adequate to cover our losses resulting from disasters or other business interruptions. Any downturn in the economy in general, including the current economic impacts of the COVID-19 pandemic (including
    inflation relating to supply chain disruptions caused by the pandemic) and the impact on fuel prices of the Russia&#8211;Ukraine conflict, or in the food service or gaming industry in particular could result in a reduced demand for our products and could
    adversely affect our business and results of operations.&#160; In addition, heightened security measures or responses to hostilities may cause certain governments to restrict the import or export of goods, as has occurred with respect to the export of oil
    from Russia, which may have an adverse effect on our ability to buy and sell goods or on the cost to obtain components.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We depend on key personnel, the loss of which could materially impact our business.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our future success will depend in significant part upon the continued service of certain key management and other personnel and our
    continuing ability to attract and retain highly qualified managerial, technical and sales and marketing personnel.&#160; There can be no assurance that we will be able to recruit and retain such personnel.&#160; The loss of either Bart C. Shuldman, the Company&#8217;s
    Chairman of the Board and Chief Executive Officer, or Steven A. DeMartino, the Company&#8217;s President, Chief Financial Officer, Treasurer and Secretary, or the loss of certain groups of key employees, could have a material adverse effect on our results of
    operations.</div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">13</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">The inability to protect our intellectual property rights could harm our reputation, damage our
    business or interfere with our competitive position, and infringement on the intellectual property rights of others, or claims thereof, could put us at a competitive disadvantage, and any related litigation could be time consuming and costly.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our intellectual property is valuable and provides us with certain competitive advantages.&#160; Copyrights, patents, trademarks, service
    marks, trade secrets, technology licensing agreements, nondisclosure agreements and contracts are used to protect these proprietary rights. Despite these precautions, it may be possible for third-parties to copy aspects of our products or, without
    authorization, to obtain and use information which we regard as trade secrets.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In addition, prosecuting and defending infringement lawsuits is expensive.&#160; We are committed to aggressively asserting and defending
    our technology and related intellectual property rights, which we have spent a significant amount of money to develop.&#160; Similarly, third-parties may claim, from time to time, that we have violated their intellectual property rights. To the extent we
    violate a third-party&#8217;s patent or other intellectual property rights, we may be prevented from operating our business as planned and may be required to pay damages, to obtain a license, if available, or to use a non-infringing method, if possible, to
    accomplish our objectives. Any such claims could result in costly litigation and, if successful, could result in costly judgments or settlements.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The expense of prosecuting or defending any future infringement lawsuits could have a material adverse effect on our business,
    financial condition and results of operations.&#160; Intellectual property litigation is generally complex, costly, protracted, and highly disruptive to business operations by diverting the attention and energies of management and key technical personnel.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We currently rely on third-party service providers to host our food service technology software
    and deliver certain services, and any interruptions or delays in services from these third-parties could impair the delivery of our products and services, and our business, results of operations, and financial condition could be materially adversely
    affected.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We rely on a third-party service provider to host our food service technology software. Third-parties also provide services to key
    aspects of our operations, including Internet connections and networking, data storage and processing, trust and safety and security infrastructure.&#160; We do not control the operation, physical security, or data security of any of these third-party
    providers. Our efforts to use commercially reasonable diligence in the selection and retention of such third-party providers may be insufficient or inadequate to prevent or remediate such operational and security risks. Our third-party providers may be
    subject to intrusions, computer viruses, denial-of-service attacks, sabotage, acts of vandalism, acts of terrorism or other misconduct. They are vulnerable to damage or interruption from power loss, telecommunications failures, fires, floods,
    earthquakes, hurricanes, tornadoes, and similar events, and they may be subject to financial, legal, regulatory, and labor issues, each of which may impose additional costs or requirements on us or prevent these third-parties from providing services to
    us or our customers on our behalf. In addition, these third-parties may breach their agreements with us, disagree with our interpretation of contract terms or applicable laws and regulations, refuse to continue or renew these agreements on commercially
    reasonable terms or at all, fail to or refuse to process transactions or provide other services adequately, take actions that degrade the functionality of our platform and services, increase prices, impose additional costs or requirements on us or our
    customers, or give preferential treatment to our competitors. If we are unable to procure alternatives in a timely and efficient manner and on acceptable terms, or at all, we may be subject to business disruptions, losses, or costs to remediate any of
    these deficiencies. The occurrence of any of the above events could result in reputational damage, legal or regulatory proceedings, loss of customers or other adverse consequences, any of which could materially adversely affect our business, results of
    operations, and financial condition.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Our food service technology business depends substantially on our customers renewing their
    subscriptions with the Company. Any decline in our customer renewals would harm our food service technology business, results of operations and financial condition.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our subscription offerings are term-based, and in order for us to maintain or improve our results of operations, it is important that
    our customers renew their subscriptions with us when the existing subscription term expires and renew on the same or more favorable quantity and terms. Our customers have no obligation to renew their subscriptions and we may not be able to accurately
    predict customer renewal rates. Customers may elect not to renew their subscriptions with us for a variety of reasons, including as a result of changes in their strategic priorities, budgets and costs and, in some instances, due to competing solutions.
    Our retention rate may also decline or fluctuate as a result of a number of other factors, including our customers&#8217; satisfaction or dissatisfaction with our solutions, the increase in the contract value of subscription and support contracts from new
    customers, the effectiveness of our customer support services, our pricing, the prices of competing products or services, global economic conditions and the other risk factors described herein. As a result, there can be no assurance that our food
    service technology customers will renew subscriptions.&#160; If our customers do not renew their subscriptions or renew on less favorable terms, our business, results of operations and financial condition may be adversely affected.</div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">14</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">If we fail to offer high quality support, our business and reputation could suffer.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our customers rely on us and our third-party service providers for support of our software and services included in our food service
    technology subscription packages. High-quality support is important for the renewal and expansion of our agreements with existing customers. The importance of high-quality support will increase as we expand our business and pursue new customers. If we
    or our third-party service providers do not help our customers quickly resolve issues and provide effective ongoing support, our ability to sell new food service technology products to existing and new customers could suffer and our reputation and
    relationships with existing or potential customers could be harmed.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Cyber-security and privacy breaches, cyber-attacks, or other disruptions could expose us to
    liability, affect our business, and damage our reputation.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We are increasingly dependent on our information technology systems and infrastructure for our business. We collect, store, and
    transmit sensitive information including intellectual property, proprietary business information and personal information in connection with business operations. The secure maintenance of this information is critical to our operations and business
    strategy. Some of this information could be an attractive target of criminal attack by third-parties with a wide range of motives and expertise, including organized criminal groups, disgruntled current or former employees, and others. Cyber-attacks are
    of ever-increasing levels of sophistication, and despite our extensive security measures, our information technology and infrastructure may be vulnerable to such attacks or may be breached, including due to employee error or malfeasance.&#160; Any such
    breach could compromise our networks and the information stored there could be accessed, publicly disclosed, lost or stolen. If our systems become compromised, we may not promptly discover the intrusion. Like other companies in our industry, we have
    experienced attacks to our data and systems, including malware and computer viruses that we have been able to detect and eliminate. If our systems fail or are breached or disrupted, we could lose product sales, and suffer reputational damage and loss
    of customer confidence. Such incidents would require notification to affected individuals and may result in legal claims or proceedings and liability under federal and state laws that protect the privacy and security of personal information. Any one of
    these events could cause our business to be materially harmed and our results of operations to be adversely impacted.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We cannot provide any assurance that current laws, or any laws enacted in the future, will not
    have a material adverse effect on our business.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our operations are subject to laws, rules, regulations, including environmental regulations, government policies and other requirements
    in each of the jurisdictions in which we conduct business.&#160; Changes in such laws, rules, regulations, policies or requirements could result in the need to modify our products and could affect the demand for our products, which may have an adverse
    impact on our future operating results.&#160; If we do not comply with applicable laws, rules and regulations we could be subject to costs and liabilities and our business may be adversely impacted.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">15</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Risks Related to our Indebtedness</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">The agreement governing our credit facility contains restrictions and limitations that could
    significantly affect our ability to operate our business, as well as significantly affect our liquidity.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The loan and security agreement (the &#8220;Loan Agreement&#8221;) governing the Siena Credit Facility contains a number of significant covenants
    that could adversely affect our ability to operate our business, our liquidity, and our results of operations. These covenants restrict, among other things, our ability, and the ability of any future domestic subsidiary, to:</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">merge, consolidate, form subsidiaries or dispose of assets;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">acquire assets outside the ordinary course of business<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">;</span></div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">e</span>nter into other transactions outside the ordinary course of busines<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">s;</span></div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">sell, transfer, return or dispose of collateral;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">make loans to or investments in, or enter into transactions with, affiliates<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">;</span></div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">incur or guarantee indebtedness, incur liens<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">;</span></div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">redeem equity interests while borrowings are outstanding under the credit facility<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">;</span></div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">change our capital structure; or</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">dissolve, divide, change our line of business or cease or suffer a disruption to all or a material portion of our business<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">.</span></div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Additionally, the Loan Agreement requires us to comply with a minimum excess availability covenant, which requires excess borrowing
    availability of at least $750 thousand. The breach of any covenants or obligations in the Loan Agreement, if not otherwise waived or amended, could result in a default under the Loan Agreement and could trigger acceleration of our obligations
    thereunder and permit the lender to foreclose on the collateral securing our obligations under the Loan Agreement and exercise other rights of secured creditors.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Availability under the Siena Credit Facility is subject to a borrowing base, which is based on eligible accounts receivable and
    inventory. To the extent that our eligible accounts receivable and inventory decline in value, our borrowing base will decrease, and the availability under the Siena Credit Facility currently is and may continue to be less than its stated amount and
    may decrease. In addition, if at any time the amount of outstanding borrowings and letters of credit under that facility exceeds the borrowing base, we are required to prepay borrowings and/or cash collateralize letters of credit sufficient to
    eliminate the excess.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our ability to comply with the covenants under the Loan Agreement or to maintain our borrowing base may be affected by events beyond
    our control, including deteriorating economic conditions and consequences of the COVID-19 crisis. For example, reductions in the value of accounts receivable and inventory have occurred and may occur in the future due to decreases in sales and
    production resulting from the impact of the COVID-19 pandemic. Further, certain slow-moving inventory and accounts receivable that remain unpaid for a specified period of time are excluded from the borrowing base calculation. Thus, a decline in
    economic conditions and/or a decline in the financial condition of customers in the industries we serve, such as the decline that has occurred in the casino and food service industries in connection with the COVID-19 pandemic, has impacted and may
    continue to negatively impact the borrowing base both by decreasing the value of existing accounts and reducing the number and amount of new accounts. If we overestimate our inventory needs due to the uncertainty surrounding the COVID-19 pandemic and
    the duration of its impact on customer closures and economic conditions, we may have inventory that is considered slow-moving and thus excluded from the borrowing base calculation, and any reduction in production in response to decreased demand would
    also result in a lower inventory value and thus a lower borrowing base.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Any of these events could require us to seek waivers or amendments of covenants or alternative sources of financing or to reduce
    expenditures. We cannot assure you that such waivers, amendments or alternative financing could be obtained, or if obtained, would be on terms acceptable to us, or that we would be able to reduce expenditures enough to offset any decrease in the
    borrowing base, or that we could make such reductions without a material negative impact on our business.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">16</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">General Risk Factors</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Our stock price may fluctuate significantly.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The market price of our common stock could fluctuate significantly in response to variations in quarterly operating results and other
    factors, such as:</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">prevailing domestic and international market and economic conditions, and conditions in the industries we serve, including current market volatility and the economic
            impact of COVID-19 and resulting shutdowns on the casino and food service industries and on the U.S. and global economies<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">;</span></div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">adverse business conditions faced by customers, or bankruptcies or store closures of our customers resulting from adverse economic conditions due to COVID-19 or
            otherwise;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">changes in our business, operations or prospects;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">developments in our relationships with our customers or strategic partners;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">announcements of new products or services by us or by our competitors;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">announcement or completion of acquisitions by us or by our competitors;</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">changes in existing or adoption of additional government regulations; and</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">unfavorable or reduced analyst coverage.</div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In addition, the stock market may experience significant price fluctuations year-to-year.&#160; Broad market fluctuations, general economic
    conditions and specific conditions in the industries in which we operate may adversely affect the market price of our common stock.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Limited trading volume and a reduction in analyst coverage of our common stock may contribute to
    its price volatility.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The limited trading volume of our common stock may contribute to its price volatility. The trading market for our common stock also
    relies in part on the research and reports that industry or financial analysts may publish about us, our business, our markets and our competitors. We currently&#160; have limited analyst coverage. If securities analysts do not cover our common stock in the
    future, the lack of research coverage may adversely affect the market price of our common stock. Furthermore, if one or more of the analysts who cover us downgrade our stock, or if those analysts issue other unfavorable commentary about us or our
    business, our stock price may decline.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our common stock is traded on the Nasdaq Global Market.&#160; During the year ended December 31, 2021, the average daily trading volume for
    our common stock as reported by the Nasdaq Global Market was approximately 25,000 shares.&#160; We are uncertain whether a more active trading market in our common stock will develop.&#160; In addition, many investment banks no longer find it profitable to
    provide securities research on micro-cap and small-cap companies.&#160; As a result, relatively small trades may have a significant impact on the market price of our common stock, which could increase the volatility and depress the price of our common
    stock.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Our common stock is thinly traded, and investors may be unable to sell their shares at their
    desired prices, or at all, and sales of large blocks of shares may adversely affect the price of our common stock.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our common stock has historically been sporadically or &#8220;thinly traded,&#8221; meaning that the number of persons interested in purchasing
    shares of our common stock at prevailing prices at any given time may be relatively small. This could lead to wide fluctuations in our share price. Investors may be unable to sell their common stock at or above their purchase price, which may result in
    substantial losses. As a consequence of this lack of liquidity, the trading of relatively small quantities of shares by our stockholders may disproportionately influence the price of shares of our common stock in either direction. The price of shares
    of our common stock could, for example, decline precipitously in the event a large number of shares of our common stock are sold on the market without commensurate demand, while an issuer with a more robust daily trading volume for its common stock
    might better absorb those sales without an adverse impact on its share price.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">If we raise additional capital in the future, existing shareholder ownership interest in the
    Company could be diluted or otherwise adversely impacted, and future sales of our common stock or other financing arrangements may cause our stock price to decline.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In the future, we may sell additional shares of our common stock in public or private offerings, or we may obtain funds through a
    credit facility or by issuing debt or preferred securities. We may also issue additional shares of our common stock to finance future acquisitions. Shares of our common stock are also available for future issuance and sale pursuant to stock options and
    other equity awards that we have granted to our employees, and in the future, we may grant additional stock options, restricted stock units and other forms of equity compensation to our employees. Any issuance of equity we may undertake in the future
    to raise additional capital could cause the price of our common stock to decline, or require us to issue shares at a price that is lower than that paid by holders of our common stock in the past, which would result in those newly issued shares being
    dilutive. Sales of our common stock or the perception that such sales could occur may adversely affect prevailing market prices for shares of our common stock and could impair our ability to raise capital through future offerings. The lenders under our
    existing debt agreements have rights that are senior to your rights as a common stockholder, and if we obtain funds in the future through a credit facility or through the issuance of debt or preferred securities, the lenders of such facility or the
    holders of such securities would likely also have rights senior to the rights of our common stockholders, which could impair the value of our common stock.</div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">17</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">We take advantage of specified scaled disclosure requirements applicable to a &#8220;smaller reporting
    company&#8221; under Regulation S-K, and the information that we provide to stockholders may therefore be different than they might receive from other public companies. If some investors find our shares of common stock less attractive as a result of this
    scaled disclosure, there may be a less active trading market for our shares of common stock, which may increase the volatility of the market price of our common stock.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We are a &#8220;smaller reporting company,&#8221; as defined in Item 10(f)(1) of Regulation S-K. As a smaller reporting company, we take advantage
    of specified scaled disclosure and other requirements that are otherwise applicable generally to public companies.</div>

  <div style="text-align: justify; line-height: 10.25pt; margin-top: 12pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We intend to continue to take advantage of certain of the scaled disclosure requirements of
    smaller reporting companies and may continue to do so until we are no longer a smaller reporting company. We will cease to be a smaller reporting company if we have (i) more than $250 million in market value of our shares held by non-affiliates as of
    the last business day of our second fiscal quarter or (ii) more than $100 million of annual revenues in our most recent fiscal year completed before the last business day of our second fiscal quarter and a market value of our shares held by
    non-affiliates more than $700 million as of the last business day of our second fiscal quarter. We choose to take advantage of some but not all of these scaled disclosure requirements; therefore, the information that we provide stockholders may be
    different than one might get from other public companies. Further, if some investors find our shares of common stock less attractive as a result, there may be a less active trading market for our shares of common stock and the market price of such
    shares of common stock may be more volatile.</div>

  <div style="margin: 0px 0px; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold; text-align: justify;">Our Amended and Restated By-Laws designate certain Delaware courts as the sole
    and exclusive forum for certain types of actions and proceedings that may be initiated by our stockholders, which could limit our stockholders&#8217; ability to obtain a favorable judicial forum for disputes with us or our directors, officers or
    stockholders.</div>

  <div style="margin: 0px 0px; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: justify;">Our Amended and Restated By-Laws (the &#8220;By-Laws&#8221;) provide that, unless we consent in writing to the selection of an
    alternative forum, to the fullest extent permitted by law, all Internal Corporate Claims must be brought solely and exclusively in the Court of Chancery of the State of Delaware (or, if such court declines to accept jurisdiction, the Superior Court of
    the State of Delaware, or, if such other court declines to accept jurisdiction, the United States District Court for the District of Delaware). The By-Laws define &#8220;Internal Corporate Claims&#8221; to mean claims, including claims in the right of the Company,
    brought by a current or former stockholder (including a current or former beneficial owner) (i) that are based upon a violation of a duty by a current or former director or officer or stockholder in such capacity or (ii) as to which the General
    Corporation Law of the State of Delaware confers jurisdiction upon the Court of Chancery of the State of Delaware.</div>

  <div style="text-align: justify; line-height: 10.25pt; margin-top: 12pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">This choice of forum provision may increase costs to bring a claim, discourage claims or limit a
    stockholder&#8217;s ability to bring a claim in a judicial forum that it finds favorable for disputes with us or our directors, officers or other stockholders, which may discourage such lawsuits against us and our directors, officers and stockholders.
    Alternatively, if a court were to find this choice of forum provision inapplicable to, or unenforceable in respect of, one or more of the specified types of actions or proceedings, we may incur additional costs associated with resolving such matters in
    other jurisdictions, which could adversely affect our business, financial condition or results of operations. The choice of forum provision in the By-Laws will not preclude or contract the scope of exclusive federal or concurrent jurisdiction for
    actions brought under the federal securities laws including the Exchange Act or the Securities Act or the respective rules and regulations promulgated thereunder.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">18</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 1B. Unresolved Staff Comments.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Not applicable.</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 2. Properties.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our principal facilities as of December 31, 2021 are listed below.&#160; We believe that all facilities generally are in good condition, adequately maintained and suitable for their present and currently contemplated uses.</div>

  <div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 22.9%; vertical-align: bottom; border-bottom: #000000 2px solid;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Location</div>
        </td>

    <td style="width: 2.31%; vertical-align: top;">&#160;</td>

    <td style="width: 35.36%; vertical-align: bottom; border-bottom: #000000 2px solid;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Operations Conducted</div>
        </td>

    <td style="width: 1.11%; vertical-align: bottom;">&#160;</td>

    <td style="width: 12.64%; vertical-align: bottom; border-bottom: #000000 2px solid;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Size</div>
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">(Approx. Sq. Ft.)</div>
        </td>

    <td style="width: 0.97%; vertical-align: bottom;">&#160;</td>

    <td style="width: 9.31%; vertical-align: bottom; border-bottom: #000000 2px solid;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Owned</div>
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">or Leased</div>
        </td>

    <td style="width: 1.24%; vertical-align: top;">&#160;</td>

    <td style="width: 14.16%; vertical-align: bottom; border-bottom: #000000 2px solid;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Lease Expiration</div>
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Date</div>
        </td>

  </tr>

  <tr>

    <td style="width: 22.9%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Hamden, Connecticut</div>
        </td>

    <td style="width: 2.31%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 35.36%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Executive offices and sales office</div>
        </td>

    <td style="width: 1.11%; vertical-align: bottom; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 0.97%; vertical-align: bottom; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 11.67%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: right; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11,100</div>
        </td>

    <td style="width: 0.97%; vertical-align: bottom; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 9.31%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Leased</div>
        </td>

    <td style="width: 1.24%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 14.16%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">October 31, 2025</div>
        </td>

  </tr>

  <tr>

    <td style="width: 22.9%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Ithaca, New York</div>
        </td>

    <td style="width: 2.31%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 35.36%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Hardware design and development, assembly and service facility</div>
        </td>

    <td style="width: 1.11%; vertical-align: bottom; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 0.97%; vertical-align: bottom; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 11.67%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: right; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">73,900</div>
        </td>

    <td style="width: 0.97%; vertical-align: bottom; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 9.31%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Leased</div>
        </td>

    <td style="width: 1.24%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 14.16%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">May 31, 2025</div>
        </td>

  </tr>

  <tr>

    <td style="width: 22.9%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Las Vegas, Nevada</div>
        </td>

    <td style="width: 2.31%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 35.36%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Software design and development and casino and gaming sales office</div>
        </td>

    <td style="width: 1.11%; vertical-align: bottom; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 0.97%; vertical-align: bottom; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 11.67%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: right; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">19,600</div>
        </td>

    <td style="width: 0.97%; vertical-align: bottom; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 9.31%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Leased</div>
        </td>

    <td style="width: 1.24%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 14.16%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">October 31, 2022</div>
        </td>

  </tr>

  <tr>

    <td style="width: 22.9%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Doncaster, UK</div>
        </td>

    <td style="width: 2.31%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 35.36%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Sales office and service center</div>
        </td>

    <td style="width: 1.11%; vertical-align: bottom; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 0.97%; vertical-align: bottom; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 11.67%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: right; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,000</div>
        </td>

    <td style="width: 0.97%; vertical-align: bottom; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 9.31%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Leased</div>
        </td>

    <td style="width: 1.24%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 14.16%; vertical-align: bottom; background-color: #FFFFFF;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">August 26, 2026</div>
        </td>

  </tr>

  <tr>

    <td style="width: 22.9%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Macau, China</div>
        </td>

    <td style="width: 2.31%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 35.36%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Sales office</div>
        </td>

    <td style="width: 1.11%; vertical-align: bottom; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 0.97%; vertical-align: bottom; border-bottom: #000000 2px solid; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 11.67%; vertical-align: bottom; border-bottom: #000000 2px solid; background-color: #CCEEFF;">
          <div style="text-align: right; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">180</div>
        </td>

    <td style="width: 0.97%; vertical-align: bottom; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 9.31%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Leased</div>
        </td>

    <td style="width: 1.24%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 14.16%; vertical-align: bottom; background-color: #CCEEFF;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">June 30, 2022</div>
        </td>

  </tr>

  <tr>

    <td style="width: 22.9%; vertical-align: bottom; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 2.31%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 35.36%; vertical-align: bottom; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 1.11%; vertical-align: bottom; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 0.97%; vertical-align: bottom; border-bottom: #000000 2px solid; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 11.67%; vertical-align: bottom; border-bottom: #000000 2px solid; background-color: #FFFFFF;">
          <div style="text-align: right; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">110,780</div>
        </td>

    <td style="width: 0.97%; vertical-align: bottom; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 9.31%; vertical-align: bottom; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 1.24%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 14.16%; vertical-align: bottom; background-color: #FFFFFF;">&#160;</td>

  </tr>


</table>
  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 3. Legal Proceedings.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Company may, in the ordinary course of business, become a party to litigation involving collection matters, contract claims and
    other legal proceedings relating to the conduct of its business.&#160; As of December 31, 2021, we are unaware of any material legal proceedings
    pending or threatened against us, or any material legal proceedings contemplated by governmental authorities.</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 4. Mine Safety Disclosures.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Not applicable.</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">19</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">PART II</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 5. Market for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our common stock is traded on the Nasdaq Global Market under the symbol TACT.&#160; As of February 28, 2022, there were 246 holders of record of the common stock.</div>

  <div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Issuer Purchases of Equity Securities</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">During the fourth quarter of 2021, we did not repurchase any shares of our common stock.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Dividend Policy</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In 2012, our Board of Directors initiated a quarterly cash dividend program subject to the Board&#8217;s approval each quarter.&#160; On January
    23, 2020, our Board of Directors announced the cessation of our quarterly cash dividend on the Company&#8217;s common stock to accelerate the investment in sales and marketing, continued product development and infrastructure of the BOHA! ecosystem.&#160; The
    final dividend payment was made in December 2019.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Sales of Unregistered Securities</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">None.</div>

  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 6. [Reserved]</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 7. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">This discussion should be read in conjunction with the Consolidated Financial Statements and notes thereto.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Overview</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">During the year ended December 31, 2021, we continued to
      experience recovery from the negative impacts COVID-19 had on our business during 2020.&#160; While we have experienced recovery in most of our markets, there are still uncertainties on how COVID-19 will continue to impact our business, operations, supply
      chain, customer and vendors.&#160; During 2021, we continued to focus our efforts on the sales execution and growing revenue of BOHA! software-as-a-service (&#8220;SaaS&#8221;)-based software and hardware ecosystem launched in 2019.&#160; Despite the negative impact from
      COVID-19, food service technology sales increased 63% in 2021 compared to 2020 due primarily to sales of our BOHA! software, labels and other recurring revenue to both new customers and</span> our existing installed base of BOHA! terminals.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">During 2021, all markets other than lottery and TSG increased compared to 2020 as we have started to see recovery from the negative
    impacts from the COVID-19 pandemic.&#160; POS automation sales increased primarily due to higher sales of our Ithaca 9000 printer to McDonald&#8217;s in 2021 compared to 2020.&#160; Casino and gaming sales were higher in 2021 due to casinos continuing to reopen and
    increase capacity during 2021 after being closed in 2020 in response to the COVID-19 pandemic.&#160; Printrex sales increased in 2021 after being negatively impacted by lower worldwide oil prices largely attributable to the COVID-19 pandemic during 2020.&#160;
    We had no lottery market sales during 2021 as we exited the lottery market in 2019 and completed our final sale of lottery printers in 2020.&#160; TSG sales decreased in 2021 compared to 2020 primarily due to lower service sales due to exiting the banking
    market in 2018, lower replacement part sales and lower sales of our legacy consumable products.</div>

  <div style="line-height: 14.4pt;">
    <div style="line-height: 10.25pt;"><br />
    </div>

    <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">During the year ended December 31, 2021,
      our total net sales increased 29% to approximately $39.4 million compared to the year ended December 31, 2020.&#160; See the table below
      for a breakdown of our sales by market:</div>

    <div style="line-height: 10.25pt;"><br />
    </div>

  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;"> </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(In thousands, except percentages)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$ Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">% Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Food service technology (&#8220;FST&#8221;)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12,625</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">32.1</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,734</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">25.3</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,891</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">63.2</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">POS automation</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,825</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12.2</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,770</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12.3</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,055</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">28.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Casino and gaming</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15,302</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">38.9</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10,979</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">35.9</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,323</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">39.4</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Lottery</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">817</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2.7 </div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(817</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Printrex</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">631</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1.6</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">300</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">331</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">110.3</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TSG</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,003</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15.2 </div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,995</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">22.8 </div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(992</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(14.2</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">39,386</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0 </div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">30,595</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0 </div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8,791</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">28.7</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>
  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Sales of our food service technology products increased 63% in the year ended December 31, 2021 compared to the year ended December 31,
    2020.&#160; In the food service technology market, we focus on providing hardware products, which include terminals/workstations, temperature probes, temperature sensors and gateways in addition to cloud-based software applications, labels and other
    recurring revenue items.&#160; Food service technology sales increased in 2021 primarily due to a 95% increase in BOHA! recurring revenue, which include subscriptions for the software applications, as well as sales of labels, extended warranty and service
    contracts, and technical support services.&#160; Our FST hardware sales also increased by 33% as we increased our total installed base by 4,130 terminals and workstations during 2021 resulting in a total installed base of 9,818 terminals at the end of 2021.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">20</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Sales of our POS automation products increased 28% in the year ended December 31, 2021 compared to the year ended December 31, 2020.&#160;
    In the POS automation market, we focus primarily on supplying printers that print receipts or linerless labels to McDonald&#8217;s, and to a lesser extent other customers in the restaurant and quick serve markets.&#160; During the year ended December 31, 2021,
    sales of our Ithaca 9000 printer to McDonald&#8217;s recovered from the unusually low level we experienced in 2020 due to the significant negative impact of the COVID-19 pandemic on the POS automation market.</div>

  <div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Sales of our casino and gaming products increased 39% in 2021 compared to 2020.&#160; In our casino and gaming market, our focus lies
    primarily in supplying printers worldwide for use in slot machines at casinos and racetracks, as well as in other electronic gaming devices that print tickets or receipts. Additionally, we supplement these printer sales with revenue from EPICENTRAL our
    promotional printing system that enables casino operators to create promotional coupons and marketing messages and print them in real time at the slot machine.&#160; The increase of casino and gaming printers was due to the recovery of the domestic and
    international casino and gaming market during 2021, as casinos continued to reopen compared to 2020 when the market was severely impacted by the COVID-19 pandemic and the related closures of casinos.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">On December 31, 2019, we ended our non-exclusive agreement with IGT and exited the lottery market as we shifted our focus to our
    higher-value, technology-enabled market for food service technology and casino and gaming products.&#160; During 2020, IGT made a final purchase of lottery printers and we expect no future sales of our lottery printer.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Sales of our Printrex branded printers include wide format, rack-mounted and vehicle-mounted thermal printers used by customers to log
    and plot oil field and down hole well drilling data in the oil and gas exploration industry.&#160; During the year ended December 31, 2021, we experienced a 110% increase in Printrex oil and gas printer sales, as the oil and gas market recovered from the
    negative impact during 2020 of lower worldwide oil prices as a result of the COVID-19 pandemic.&#160; Additionally, we fulfilled last buy orders to legacy customers during the fourth quarter of 2021, as we decided to exit this market as of December 31,
    2021.&#160; We expect no future Printrex sales as we have shifted our focus away from this market and towards our higher value, technology-enabled food service technology terminals and casino and gaming products.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TSG, which sells service, replacement parts and consumable products, including receipt paper, ribbons and other printing supplies,
    continues to offer a recurring revenue stream from mostly our legacy products.&#160; TSG sales decreased 14% in 2021 compared to 2020, primarily due to declining service revenue from a legacy banking customer whose service contract is expected to end during
    2022, as well as lower replacement part and consumable product sales.&#160; We expect TSG sales to continue to decline in 2022 due to the ending of the service contract with a legacy banking customer and lower expected sales of our lottery printer spare
    parts to IGT for our legacy lottery printer.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Operationally, our gross margin was 38.7% in 2021, a
      decrease of 360 basis points from 2020, due </span>largely to lower margin on our BOHA! hardware sales during 2021 compared to 2020, as we have reduced prices to accelerate the growth of our BOHA! installed base, as well as higher material and
    shipping costs resulting from worldwide supply disruptions caused by the COVID-19 pandemic.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">During 2021, our operating margin improved to negative 24.1% compared to negative 26.7% in 2020 as the 29% increase in sales more than
    offset the 360 basis point decrease in gross margin and increased operating expenses.&#160; Operating expenses increased by 17% as we gradually returned to more normalized pre-COVID-19 spending levels.&#160; During 2022, we expect operating expenses to continue
    to increase compared to 2021, due to the continued investment in our food service technology products.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">We reported a net loss of $4.1 million and net loss per
      diluted share of $0.45 for 2021, compared to a net loss of $5.6 million and net loss per diluted share of $0.72 for 2020.&#160; In terms of cash flow, for 2021 we used $2.5 million of cash in operating activities.&#160; During 2021, we also successfully
      completed an underwritten public offering of our common stock which raised net proceeds of $11.2 million</span>.&#160; We <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">ended the year with cash and cash equivalents of $19.5
      million and no debt outstanding on our Consolidated Balance Sheet at December 31, 2021.</span></div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Critical Accounting Estimates</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The preparation of financial statements in conformity with generally accepted accounting principles requires management to make use of
    estimates, judgments and assumptions that affect both Balance Sheet items and Statement of Operations categories.&#160; Such estimates and judgments are based upon historical experience and certain assumptions that are believed to be reasonable in the
    particular circumstances; however, due to the inherent uncertainties in developing estimates, actual results could differ from the original estimates, requiring adjustments to these balances in future periods.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following accounting policies are those that we believe to be most critical in the preparation of our financial statements.&#160; These
    items utilize assumptions and estimates about the effect of future events that are inherently uncertain and are therefore based on our judgment.&#160; Refer to Note 2 &#8211; Summary of significant accounting policies in the accompanying Consolidated Financial
    Statements for a complete listing of our significant accounting policies.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Revenue Recognition</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> &#8211; </span>Application of GAAP related to the measurement and recognition of revenue requires us to make judgments and estimates. Specifically, the determination of whether
    revenues related to our revenue contracts should be recognized over time or at a point in time.&#160; Other significant judgments include <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">contracts that contain multiple
      performance obligations (most commonly when contracts include a hardware product, software and extended warranties) which require a contract&#8217;s transaction price to be allocated to each distinct performance obligation and recognized as revenue when,
      or as, the performance obligation is satisfied.&#160; </span>Both of these determinations impact the timing and amount of our reported revenues and net income and loss.</div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">21</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Accounts Receivable</span>
    &#8211; We have standardized credit granting and review policies and procedures for all customer accounts, including: credit reviews of all new customer accounts; ongoing credit evaluations of current customers; credit limits and payment terms based on
    available credit information; and adjustments to credit limits based upon payment history and the customer&#8217;s current creditworthiness.&#160; We also provide an estimate of doubtful accounts based on historical experience and specific customer collection
    issues.&#160; Our allowance for doubtful accounts as of December 31, 2021 was $219 thousand, or 2.8% of outstanding accounts receivable, which we believe is appropriate considering the overall quality of our accounts receivable.&#160; Although credit losses have
    historically been within expectations and the reserves established, there is no assurance that our credit loss experience will continue to be consistent with historical experience.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Inventories </span>&#8211;
    Our inventories are stated at the lower of cost (principally standard cost, which approximates actual cost on a first-in, first-out basis) or net realizable value. We review net realizable value based on estimated selling prices in the ordinary course
    of business less estimated costs of completion, disposal and transportation, historical usage and estimates of future demand. Assumptions are reviewed at least quarterly and adjustments are made, as necessary, to reflect changing market conditions.
    Based on these reviews, inventory write-downs are recorded, as necessary, to reflect estimated obsolescence, excess quantities and net realizable value. Should circumstances change and we determine that additional inventory is subject to obsolescence,
    additional write-downs of inventory could result in a charge to income.</div>

  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Goodwill and
      Intangible Assets</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> &#8211; We acquire businesses in purchase transactions that result in the recognition of goodwill and intangible assets. The determination of the value of
      intangible assets requires management to make estimates and assumptions. In accordance with ASC 350-20 &#8220;Goodwill,&#8221; acquired goodwill is not amortized but is subject to impairment testing at least annually and when an event occurs or circumstances
      change that indicate it is more likely than not an impairment exists.&#160; </span>We perform a fair value-based impairment test to the carrying value of goodwill and indefinite-lived intangible assets on an annual basis (as of December 31) and, if
    certain events or circumstances indicate that an impairment loss may have been incurred, on an interim basis.&#160; The Company utilizes the option to first assess qualitative factors to determine whether it is necessary to perform the Step 1 quantitative
    goodwill impairment test in accordance with the applicable accounting standards. Under the qualitative assessment, management considers relevant events and circumstances including, but not limited to, macroeconomic conditions, industry and market
    considerations, Company performance, and events directly affecting the Company. If the Company determines that the Step 1 quantitative impairment test is required, management estimates the fair value of the reporting unit primarily using the income
    approach, which reflects management&#8217;s cash flow projections, and also evaluates the fair value using the market approach. <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Factors considered that may trigger an interim
      period impairment review of either acquired goodwill or intangible assets are: significant underperformance relative to expected historical or projected future operating results; significant changes in the manner of use of acquired assets or the
      strategy for the overall business; significant negative industry or economic trends; and significant decline in market capitalization relative to net book value. Finite lived intangible assets are amortized and are tested for impairment when
      appropriate.</span></div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">As of December 31, 2021, upon the completion of our annual assessment for impairment, we have determined that no goodwill or intangible
    asset impairment has occurred and the fair value of goodwill was substantially higher than our carrying value.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Income Taxes</span>
    &#8211; In preparing our Consolidated Financial Statements, we are required to estimate income taxes in each of the jurisdictions in which we operate.&#160; This involves estimating the actual current tax exposure together with assessing temporary differences
    between the tax basis of certain assets and liabilities and their reported amounts in the financial statements, as well as net operating losses, tax credits and other carryforwards.&#160; These differences result in deferred tax assets and liabilities,
    which are reflected in our Consolidated Balance Sheets.&#160; We then assess the likelihood that the deferred tax assets will be realized from future taxable income, and to the extent that we believe that realization is not likely, we establish a valuation
    allowance.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Significant judgment is required in determining the provision for income taxes and, in particular, any valuation allowance or tax
    reserves with respect to our deferred tax assets and uncertain tax positions.&#160; On a quarterly basis, we evaluate the recoverability of our deferred tax assets based upon historical results and forecasted taxable income over future years, and match this
    forecast against the basis differences, deductions available in future years and the limitations allowed for net operating loss and tax credit carryforwards to ensure that there is adequate support for the realization of the deferred tax assets.
    Although we have considered future taxable income and ongoing prudent and feasible tax planning strategies in assessing the need for a valuation allowance, in the event we were to determine that we would not be able to realize all or part of our
    deferred tax assets in the future, an adjustment to the valuation allowance or tax reserves would be charged as a reduction to income in the period such determination was made.&#160; Likewise, should we determine that we would be able to realize future
    deferred tax assets in excess of its net recorded amount, an adjustment to the valuation allowance would increase net income in the period such determination was made.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We account for income taxes in accordance with ASC 740, &#8220;Income Taxes&#8221; (&#8220;ASC 740&#8221;).&#160; Among other things this provision prescribes a
    minimum recognition threshold that an income tax position must meet before it is recorded in the reporting entity&#8217;s financial statements. It also requires that the effects of such income tax positions be recognized only if, as of the balance sheet
    reporting date, it is &#8220;more likely than not&#8221; (i.e., more than a 50% likelihood) that the income tax position will be sustained based solely on its technical merits.&#160; When making this assessment, management must assume that the responsible taxing
    authority will examine the income tax position and have full knowledge of all relevant facts and other pertinent information.&#160; The accounting guidance also clarifies the method of accruing for interest and penalties when there is a difference between
    the amount claimed, or expected to be claimed, on a company&#8217;s income tax returns and the benefits recognized in the financial statements.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Warranty</span> &#8211;
    We generally warrant our products for up to 24 months and record the estimated cost of such product warranties at the time the sale is recorded.&#160; Estimated warranty costs are based upon actual past experience of product repairs and the related
    estimated cost of labor and material to make the necessary repairs.&#160; If actual future product repair rates or the actual costs of material and labor differ from the estimates, adjustments to the accrued warranty liability and related warranty expense
    would be made.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Share-Based
      Compensation</span> &#8211; We calculate share-based compensation expense in accordance with ASC 718, &#8220;Compensation &#8211; Stock Compensation&#8221; using the Black-Scholes option-pricing model to calculate the fair value of share-based awards.&#160; The key assumptions
    for this valuation method include the expected term of an option grant, stock price volatility, risk-free interest rate, and dividend yield.&#160; We account for forfeitures as they occur.</div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">22</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Results of Operations: Year Ended December 31, 2021 Compared to Year Ended December 31, 2020</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Net Sales.</span>&#160;
    Net sales, which include printer, terminal and software sales as well as sales of replacement parts, consumables and maintenance and repair services, by market for the years ended December 31, 2021 and 2020 are detailed in the below table.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;"> </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(In thousands, except percentages)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$ Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">% Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Food service technology</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12,625</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">32.1</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,734</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">25.3</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,891</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">63.2</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">POS automation</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,825</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12.2</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,770</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12.3</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,055</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">28.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Casino and gaming</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15,302</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">38.9</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10,979</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">35.9</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,323</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">39.4</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Lottery</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">817</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2.7</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(817</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Printrex</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">631</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1.6</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">300</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">331</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">110.3</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TSG</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,003</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15.2 </div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,995</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">22.8 </div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(992</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(14.2</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">39,386</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">30,595</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8,791</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">28.7</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International*</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,986</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">17.7</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,862</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">19.2</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,124</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">19.2</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>
  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">*</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International sales do not include sales of products to domestic distributors or other customers who in turn ship those products to international destinations.</div>
        </td>

  </tr>


</table>
  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Net sales for 2021 increased $8.8 million, or 29%, from
      2020.&#160; Printer, terminal and other hardware sales volume increased by 33% to approximately 82,000 units </span>for 2021, driven by volume increases in all our markets except the lottery market, which we exited in 2020.&#160; The primary volume increases
    were a 42% increase in unit volume from the casino and gaming market and, to a lesser extent, a 26% unit volume increase in our POS automation market and a 44% increase in unit volume from the FST market.&#160; The average selling price of our printers,
    terminals and other hardware increased 1% during 2021 compared to 2020.&#160; Additionally, sales of our software, labels and other recurring revenue from our FST market increased $3.6 million, or 95%, during 2021 compared to 2020.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International sales for 2021 increased $1.1 million, or 19%, compared to 2020, primarily due to a 24% increase in international casino
    and gaming sales.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Food service technology:&#160; </span>Our
    primary offering in the food service technology market is our BOHA! ecosystem, which combines our latest generation terminal/workstation, cloud-based software applications and related hardware into a unique solution to automate back-of-house operations
    in restaurants, convenience stores and food service operations.&#160; The software component of BOHA! consists of a suite of software-as-a-service (&#8220;SaaS&#8221;)-based applications for both Android and iOS operating systems, including applications for temperature
    monitoring of food and equipment, timers, food safety labeling, media libraries, checklists and task lists, and equipment service management.&#160; These applications are combined into a single platform with the associated hardware, which includes the BOHA!
    terminal/workstation, handheld devices, tablets, temperature probes and temperature sensors. The BOHA! terminal combines the software and hardware components in a device that includes an operating system, touchscreen and one or two thermal print
    mechanisms that print easy-to-read food rotation labels, grab-and-go labels for prepared foods, and &#8220;enjoy by&#8221; date labels.&#160; The BOHA! workstation uses an iPad instead of an integrated touchscreen.&#160; Both the BOHA! terminal and BOHA! workstation are
    equipped with the TransAct Enterprise Management System to ensure that only approved applications and functions are available on the device and allows over-the-air updates to the applications and operating system.&#160; BOHA! helps food service
    establishments and restaurants (including fine dining, casual dining, fast casual and quick-serve restaurants, convenience stores, hospitality establishments and contract food service providers) effectively manage food safety and grab-and-go
    initiatives, as well as automate and manage back-of-house operations.&#160; Recurring revenue from BOHA! is generated by software sales, including software subscriptions that are typically charged to customers annually on a per-application basis, as well as
    sales of labels, extended warranty and service contracts, and technical support services.<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160; Sales of our worldwide food service technology products for the years ended December
      31, </span>2021<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> and </span>2020<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> were as follows:</span></div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;"> </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands, except percentages)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$ Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">% Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Domestic</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11,738</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">93.0 </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,956</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">89.9 </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,782</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">68.7</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">887</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7.0 </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">778</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10.1 </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">109</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">14.0</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12,625</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0 </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,734</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0 </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,891</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">63.2</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;"> </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands, except percentages)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$ Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">% Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Hardware</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,226</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">41.4</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,938</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">50.9</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,288</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">32.7</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Software, labels and other recurring revenue</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,399</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">58.6</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,796</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">49.1</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,603</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">94.9</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12,625</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,734</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,891</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">63.2</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

  </tr>


</table>
  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">23</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 11.05pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The increase in food service technology sales in 2021 compared to 2020 was driven by an increase in sales of both hardware and BOHA!
    software, labels and other recurring revenue.&#160; Hardware sales increased 33% during 2021 compared to 2020 due largely to sales to an existing national convenience store customer and a new national travel center customer, as well as higher sales of our
    AccuDate 9700 terminal to McDonald&#8217;s.&#160; These increases in hardware sales were partially offset by a large sale completed in 2020 to a grab-and-go sushi chain that did not reoccur in 2021.&#160; Sales of BOHA! software recognized on a SaaS subscription
    basis, labels and other recurring revenue increased by 95%, primarily due to increased label sales and, to a lesser extent, increased software sales, compared to the prior year period due principally to the growth of the installed base of our BOHA!
    terminals and workstations.</div>

  <div style="line-height: 11.05pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">POS automation:</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160; </span>Revenue from the POS automation market includes sales of thermal printers used primarily by McDonald&#8217;s, and to a lesser extent, other quick serve restaurants either at
    the checkout counter or within self-service kiosks to print receipts for consumers or print on linerless labels.&#160; <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Sales of our worldwide POS automation products for the years
      ended December 31, </span>2021<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> and </span>2020<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> were as follows:</span></div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;"> </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands, except percentages)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$ Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">% Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Domestic</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,817</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">99.8</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,763</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">99.8</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,054</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">28.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.2</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.2</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">14.3</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,825</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,770</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,055</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">28.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The increase in POS automation product revenue during 2021 compared to 2020 was driven by a 28% increase in sales of our Ithaca&#174; 9000
    printer, primarily to McDonald&#8217;s, as POS automation sales continually improved during 2021 compared to the significant negative impact from the COVID-19 pandemic on POS automation sales during the final nine months of 2020.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Casino and Gaming:&#160; </span>Revenue
    from the casino and gaming market includes sales of thermal ticket printers used in slot machines, video lottery terminals, and other gaming machines that print tickets or receipts instead of issuing coins at casinos and racetracks and other gaming
    venues worldwide.&#160; Revenue from this market also includes sales of thermal roll-fed printers used in the international off-premise gaming market in gaming machines such as Amusement with Prizes, Skills with Prizes and Fixed Odds Betting Terminals at
    non-casino gaming and sports betting establishments. Revenue from this market also includes royalties related to our patented casino and gaming technology.&#160; In addition, casino and gaming market revenue includes sales of the EPICENTRAL print system,
    our software solution (including annual software maintenance), that enables casino operators to create promotional coupons and marketing messages and to print them in real time at the slot machine.<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160; Sales of our worldwide casino and gaming products for the years ended December 31, </span>2021<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> and </span>2020<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> were as follows:</span></div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands, except percentages)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$ Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">% Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Domestic</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10,173</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">66.5</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,852</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">62.4</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,321</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">48.5</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,129</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">33.5</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,127</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">37.6</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,002</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">24.3</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15,302</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10,979</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255); white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,323</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">39.4</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The increase in domestic sales of our casino and gaming products during 2021 compared to 2020 was primarily due to a 57% increase in
    domestic sales of our thermal casino printers, as we have experienced some recovery during 2021 compared to 2020, particularly the second quarter of 2020, when the casino and gaming market was most severely impacted by the COVID-19 pandemic.&#160; This
    increase was partially offset by an 81% decrease in domestic EPICENTRAL sales to an existing EPICENTRAL customer during 2020 to expand its slot machine floor that did not reoccur in 2021.&#160; Sales of EPICENTRAL are project based, and as a result, may
    fluctuate significantly quarter-to-quarter and year-to-year.</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International sales of our casino and gaming products increased during 2021 compared to 2020, primarily due to a 40% increase in sales
    of our thermal casino printers, as we experienced modest recovery during 2021, most significantly during the fourth quarter of 2021, after the significant negative impact of the COVID-19 pandemic on the international casino and gaming industry, which
    is recovering at a slower pace than the domestic casino and gaming market.&#160; The increase from international sales of our thermal casino printers was partially offset by a 33% decline in sales of our off-premise gaming printers during 2021 compared to
    2020.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Lottery:</span>&#160; Revenue from the
    lottery market includes sales of thermal on-line and other lottery printers to IGT for various lottery applications.&#160; Sales of our worldwide lottery printers for the years ended December 31, 2021 and 2020 were as follows:</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;"> </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands, except percentages)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$ Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">% Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Domestic</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">817</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(817</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(100.0 </div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.0 </div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">817</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(817</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(100.0 </div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

  </tr>


</table>
  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">On December 31, 2019, we allowed our non-exclusive agreement to provide lottery terminal printers to IGT to expire as we decided to exit
    the lottery market and shift our focus towards our higher-value, technology-enabled food service technology and casino and gaming products.&#160; As a result, IGT made a final purchase of our lottery printers during the second quarter of 2020 and we do not
    expect any further lottery printer sales in the future.</div>

  <div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">24</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Printrex:</span>&#160; Printrex branded
    printers are sold into markets that include wide format, desktop and rack-mounted and vehicle-mounted black/white thermal printers used by customers to log and plot oil field, seismic and down hole well drilling data in the oil and gas exploration
    industry.&#160; Sales of our worldwide Printrex printers for the years ended December 31, 2021 and 2020 were as follows:</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;"> </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands, except percentages)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$ Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">% Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Domestic</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">171</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">27.1</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">83</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">27.7</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">88</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">106.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">460</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">72.9</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">217</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">72.3</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">243</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">112.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">631</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">300</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">331</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">110.3</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The increase in sales of Printrex printers during 2021 compared to 2020 resulted from increased domestic and international sales in the
    oil and gas market, which was negatively impacted during 2020 by the decline in worldwide oil prices attributable to the COVID-19 pandemic.&#160; Additionally, we decided to exit the Printrex market as of December 31, 2021 in order to shift focus towards
    our higher-value, technology-enabled food service technology and casino and gaming products.&#160; As a result, we had increased sales in 2021 due to fulfilling last buy orders from legacy customers during the fourth quarter of 2021.&#160; We do not expect any
    further Printrex sales beyond 2021.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">TSG:</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160;</span>Revenue generated by TSG includes sales of consumable products (POS receipt paper, inkjet cartridges, ribbons and other printing supplies for legacy products), replacement parts and
    accessories, maintenance and repair services, refurbished printers, and shipping and handling charges. &#160;<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Sales in our worldwide TSG market for the years ended December 31, </span>2021<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> and </span>2020<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> were as follows:</span></div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;"> </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands, except percentages)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$ Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">% Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Domestic</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,501</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">91.6</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,262</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">89.5</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(761</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(12.2</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">502</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8.4</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">733</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10.5</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(231</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(31.5</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,003</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,995</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(992</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(14.2</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The decrease in domestic revenue from TSG during 2021 as compared to 2020 was due primarily to lower service revenue, lower sales of
    replacement parts, and consumable products.&#160; Service revenue declined 39%, primarily related to declining revenue from a service contract with a legacy banking customer that is expected to expire during 2022.&#160; Replacement part sales decreased 4%
    primarily from lower lottery printer spare part sales to IGT, which can vary significantly from quarter-to-quarter.&#160; Consumable sales declined 25%, due primarily to lower sales of HP inkjet cartridges used in our banking printers, as we exited the
    banking market at the end of 2018.&#160; We expect TSG sales to continue to decrease in 2022 compared to 2021 due to lower expected sales of legacy lottery printer spare parts to IGT and lower service sales related to the banking service contract noted
    above.</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Internationally, TSG revenue decreased during 2021 compared to 2020, primarily due to 58% lower service revenue, a 64% decrease in
    international consumable sales and a 15% decrease in sales of replacement parts and accessories to international casino and gaming customers due to the negative impact from the COVID-19 pandemic.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Gross Profit.</span>&#160;
    Gross profit information for the years ended December 31, 2021 and 2020 is summarized below (in thousands, except percentages):</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> Year Ended December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales - 2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales - 2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15,249</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12,929</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">17.9</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">38.7</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">42.3</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gross profit is measured as revenue less cost of sales, which includes primarily the cost of all raw materials and component parts,
    direct labor, manufacturing overhead expenses, cost of finished products purchased directly from our contract manufacturers, expenses associated with installations and support of our EPICENTRAL print system and BOHA! ecosystem and royalty payments to
    third-parties, including to the third-party licensor of our food service technology software products.&#160; Gross profit increased $2.3 million, or 18%, in 2021 compared to 2020, primarily due to the 29% sales increase, which was largely offset by a
    decrease in gross margin of 360 basis points during 2021 compared to 2020.&#160; Gross margin decreased to 38.7% in 2021 compared to 42.3% in 2020 due largely to lower margin on our BOHA! hardware sales during 2021 compared to 2020, as we have reduced
    prices to accelerate the growth of our BOHA! installed base, as well as higher material and shipping costs resulting from worldwide supply disruptions caused by the COVID-19 pandemic.</div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">25</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Operating Expenses
      - Engineering, Design and Product Development.</span>&#160; Engineering, design and product development information for the years ended December 31, 2021 and 2020 is summarized below (in thousands, except percentages):</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales - 2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales - 2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,475</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,703</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">31.1</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">19.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">18.6</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>
  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Engineering, design and product development expenses primarily include salary and payroll-related expenses for our hardware and
    software engineering staff, depreciation and design expenses (including prototype printer expenses, outside design, development and testing services, supplies and contract software development expenses including those to the third-party licensor of our
    food service technology software products).<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160; </span>Engineering, design and product development expenses increased $1.8 million, or 31%, in 2021 compared to 2020 as we
    gradually returned to more normalized pre-COVID-19 spending levels and continued development for our food service technology products.&#160; We expect engineering, design and product development expenses to continue to increase in 2022 compared to 2021 due
    to planned investments in our food service technology products.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Operating Expenses
      - Selling and Marketing</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">.</span>&#160; Selling and marketing information for the years ended December 31, 2021 and 2020 is summarized below (in
    thousands, except percentages):</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales - 2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales - 2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,658</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,144</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">24.6</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">19.4</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">20.1</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Selling and marketing expenses primarily include salaries and payroll-related expenses for our sales, marketing and customer success
    staff, sales commissions, travel expenses, expenses associated with the lease of sales offices, advertising, trade show expenses, public relations, e-commerce and other promotional marketing expenses.<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160; </span>Selling and marketing expenses increased $1.5 million, or 25%, during 2021 compared to 2020 primarily due to higher trade show expense, expanded marketing expense and new sales and marketing staff as we returned
    to more normalized pre-COVID-19 levels of sales and marketing expense during 2021 compared to lower costs during 2020 due to cost saving measures implemented during the second and third quarters of 2020.&#160; <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">We expect selling and marketing expenses to increase in 2022, as we plan to make substantial strategic investments in our food service technology sales and marketing groups.</span></div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Operating Expenses
      - General and Administrative.</span>&#160; General and administrative information for the years ended December 31, 2021 and 2020 is summarized below (in thousands, except percentages):</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales - 2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales - 2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9,626</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9,255</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">24.4</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">30.3</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">General and administrative expenses primarily include salaries, incentive compensation, and other payroll-related expenses for our
    executive, accounting, human resources, business development and information technology staff, expenses for our corporate headquarters, professional and legal expenses, information technology expenses, and other expenses related to being a publicly
    traded company.<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160; </span>General and administrative expenses increased $0.4 million, or 4%, during 2021 compared to 2020 due to higher recruiting fees and employee
    compensation, as well as higher consulting fees related to a planned implementation of a new ERP system expected to be completed in early 2022.&#160; These increases were partially offset by lower legal and professional fees and lower severance expense
    during 2021 compared to 2020.</div>

  <div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Operating Loss.</span>&#160;
    Operating loss information for the years ended December 31, 2021 and 2020 is summarized below (in thousands, except percentages):</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Percent of</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Change</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales &#8211; 2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total Sales &#8211; 2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(9,510</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(8,173</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">16.4</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(24.1</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(26.7</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our operating loss increased $1.3 million, or 16%, during 2021 compared to 2020 on 29% higher sales due to a decrease in our gross
    margin of 360 basis points and increased operating expenses of $3.7 million during 2021 compared to 2020.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Interest, net.</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160; We recorded net interest expense of $96 thousand in 2021 compared to $52 thousand in 2020.&#160; </span>The increase in net interest expense was primarily due to lower interest
    income earned from the note receivable to a third-party software developer that was collected in March 2021 and the full year impact of unused borrowing fees incurred from the Siena Credit Facility that was entered into on March 13, 2020.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Other, net</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">.</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160; We recorded other expense of $283 thousand in 2021 compared to other
      income of $56 thousand in 2020 primarily due to foreign exchange losses recorded by our UK subsidiary during 2021 compared to foreign exchange gains recorded in 2020.&#160; </span>Going forward, we may continue to experience more foreign exchange gains
    or losses depending on the level of sales to European customers through our UK subsidiary and the fluctuation in exchange rates of the Euro and Pound Sterling against the U.S. Dollar, which may be impacted by volatility in global economic conditions
    due to the COVID-19 pandemic and political instability such as the Russia-Ukraine conflict.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Gain from Employee
      Retention Credit. </span>We recorded a $1.5 million gain during 2021 resulting from the recognition of the employee retention credit pursuant to the CARES Act upon meeting the conditions required to claim the credit.</div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">26</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Gain on Forgiveness
      of Long-Term Debt. </span>We recorded a $2.2 million gain in 2021 resulting from the forgiveness of the PPP Loan in July 2021.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Income Taxes</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">.</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160; </span>We recorded an income tax benefit during 2021 of $2.1 million at
    an effective tax rate of 33.3%, compared to an income tax benefit during 2020 of $2.5 million at an effective tax rate of 31.1%.&#160; The tax benefit recorded for 2021 included the recognition of the gain on the forgiveness of the PPP Loan which is not
    taxable.&#160; The effective tax rate for 2020 included the impact of the net operating loss (&#8220;NOL&#8221;) we incurred during 2020 and was carried back to prior years.&#160; The CARES Act enacted on March 27, 2020 permitted NOLs incurred in 2018, 2019 and 2020 to be
    carried back to each of the five preceding taxable years to generate a refund of previously paid income taxes.&#160; We generated an NOL in 2020, which we carried back to tax years that had a federal statutory tax rate of 34% compared to 21% in 2020.</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Net Loss.</span>&#160;
    We reported a net loss for the year ended December 31, 2021 of $4.1 million, or $0.45 per diluted share, compared to a net loss of $5.6 million, or $0.72 per diluted share, in 2020.</div>

  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Liquidity and Capital Resources</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We assess our liquidity in terms of our ability to generate cash to fund our operating, investing and financing activities.&#160;
    Significant factors affecting the management of liquidity are cash flows from operating activities, capital expenditures, access to bank lines of credit and our ability to attract long-term capital with satisfactory terms.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Internal cash generation together with currently available cash and cash equivalents, available borrowing facilities and an ability to
    access credit lines, if needed, are expected to be sufficient to fund operations, capital expenditures, and any increase in working capital that would be required to accommodate a higher level of business activity.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Cash Flow</div>

  <div style="line-height: 14.4pt;">
    <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">During 2021, our cash balance increased $9.1 million, or 88%, from December 31, 2020 due primarily to financing activities providing
      $11.5 million of cash primarily from the completion of an underwritten public offering.&#160; We had $19.5 million in cash and cash equivalents as of December 31, 2021, of which $1.8 million was held by our UK subsidiary.</div>

  </div>

  <div style="line-height: 14.4pt;">
    <div style="text-align: left; line-height: 10.25pt;"><br />
    </div>

  </div>

  <div style="line-height: 14.4pt;">
    <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Operating activities</span>: The
      following significant factors primarily affected our cash used in operating activities of $2.5 million in 2021 as compared to&#160; cash used in operating activities of $3.5 million in 2020. During 2021:</div>

    <div style="line-height: 10.25pt;"><br />
    </div>

  </div>

  <div style="line-height: 14.4pt;">
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We reported a net loss of $4.1 million.</div>
          </td>

  </tr>


</table>
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We recorded depreciation and amortization of $1.0 million and share-based compensation expense of $1.2 million.</div>
          </td>

  </tr>


</table>
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We recorded a gain of $2.2 million from the forgiveness of the PPP loan.</div>
          </td>

  </tr>


</table>
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accounts receivable increased $4.2 million, or 125%, primarily due to increased sales volume during the fourth quarter of 2021.</div>
          </td>

  </tr>


</table>
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We recorded a receivable of $1.5 million for the employee retention credit that is expected to be collected during 2022.</div>
          </td>

  </tr>


</table>
  </div>

  <div style="line-height: 14.4pt;">
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inventories decreased $3.6 million, or 32%, primarily due to the utilization of inventory on hand to fulfill sales and significantly reduced inventory purchases
              resulting from the supply chain disruptions caused by the COVID-19 pandemic.</div>
          </td>

  </tr>


</table>
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Prepaid income taxes decreased $2.2 million due to receiving an income tax refund in 2021 related to the net operating loss reported for 2020 that was carried back to
              prior years as permitted by the CARES Act.</div>
          </td>

  </tr>


</table>
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other current and long-term assets decreased $0.3 million, or 23%, primarily due to reduction of a contract asset related to a long-term BOHA! sales contract completed
              in 2020.</div>
          </td>

  </tr>


</table>
  </div>

  <div style="line-height: 14.4pt;">
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Accounts payable increased $2.5 million, or 150%, d</span>ue to inventory purchases made
              towards the end of the fourth quarter of 2021 to support expected 2022 sales<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">.</span></div>
          </td>

  </tr>


</table>
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accrued liabilities and other liabilities increased $0.6 million, or 7%, due primarily to increased deferred revenue.</div>
          </td>

  </tr>


</table>
  </div>

  <div style="line-height: 14.4pt;">
    <div style="line-height: 10.25pt;"><br />
    </div>

  </div>

  <div style="line-height: 14.4pt;">
    <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">During 2020:</div>

    <div style="line-height: 10.25pt;"><br />
    </div>

  </div>

  <div style="line-height: 14.4pt;">
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We reported a net loss of $5.6 million.</div>
          </td>

  </tr>


</table>
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We recorded depreciation and amortization of $1.3 million and share-based compensation expense of $0.9 million.</div>
          </td>

  </tr>


</table>
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accounts receivable decreased $3 million, or 47%, primarily due to lower sales volume during the fourth quarter of 2020 compared to the fourth quarter of 2019 due to
              the pandemic.</div>
          </td>

  </tr>


</table>
  </div>

  <div style="line-height: 14.4pt;">
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inventories decreased $0.9 million, or 7%, primarily due to the utilization of inventory on hand to fulfill sales in response to the pandemic.</div>
          </td>

  </tr>


</table>
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Prepaid income taxes increased $2.2 million due to an income tax refund, subsequently received in 2021, related to the net operating loss reported for 2020 that was
              carried back to prior years as permitted by the CARES Act.</div>
          </td>

  </tr>


</table>
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other current and long-term assets increased $0.2 million, or 19%, due primarily to recording a contract asset related to a long-term BOHA! sales contract which was
              partially offset by the recognition of royalty expense that was prepaid in 2019 to a technology partner for food service technology.</div>
          </td>

  </tr>


</table>
  </div>

  <div style="line-height: 14.4pt;">
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Accounts payable decreased $1.3 million, or 43%, d</span>ue to inventory purchases made
              towards the end of the fourth quarter of 2019 that were subsequently paid in the first quarter of 2020 and a lower level of inventory purchases during 2020 due to the pandemic<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">.</span></div>
          </td>

  </tr>


</table>
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accrued liabilities and other liabilities increased $0.2 million, or 3%, due primarily to an increase in accrued inventive compensation.</div>
          </td>

  </tr>


</table>
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">27</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Investing activities</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">:&#160; </span>Our capital expenditures were $1.4 million and $0.7 million in 2021 and 2020, respectively.&#160; Expenditures in 2021 were primarily related to the implementation of a new
    ERP system expected to be completed in early 2022, new product tooling and computer and networking equipment.&#160; Expenditures in 2020 were primarily for new product tooling equipment, leasehold improvements at our Las Vegas facility and computer and
    networking equipment.&#160; Investing activities also provided $1.6 million in 2021 upon the collection of the remaining $1.6 million note receivable balance during the first quarter of 2021 from an unaffiliated third-party software developer from whom we
    license our food service technology software, compared to $0.6 million of cash used in investing activities during 2020, for the issuance of a loan to the same unaffiliated third-party.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Financing activities:</span>&#160; Financing
    activities provided $11.5 million of cash during 2021 primarily from the completion of an underwritten public offering which raised net proceeds of $11.2 million, after deducting underwriting discounts, commissions and offering expenses and, to a
    lesser extent, proceeds of $0.4 million from stock option exercises.&#160; These increases were partially offset by $0.1 million for the payment of withholding taxes on stock issued from our stock compensation plans and $31 thousand on the final payment of
    financing costs associated with our Siena Credit Facility.&#160; During 2020, financing activities provided $11.0 million of cash primarily from the completion of an underwritten public offering which raised net proceeds of $8.7 million, after deducting <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">u</span>nderwriting discounts, commissions and offering expenses, and $2.2 million in funds received from the PPP Loan and, to a lesser extent, proceeds of $0.4 million from stock
    option exercises.&#160; These increases were partially offset by the payment of $0.2 million in financing costs associated with signing our Siena Credit Facility.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Resource Sufficiency</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Given the unprecedented uncertainty related to the impact of the COVID-19 pandemic on the food service and casino industries, the
    Company is closely monitoring its cash generation, usage and preservation including the management of working capital to generate cash.</div>

  <div style="line-height: 12pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We believe that our cash and cash equivalents on hand, our expected cash flows generated from operating activities, the proceeds raised
    through the underwritten public offering during August 2021, and borrowings available under our Siena Credit Facility will provide sufficient resources to meet our working capital needs, finance our capital expenditures and meet our liquidity
    requirements through at least the next twelve months.&#160; Notwithstanding this belief, the duration and extent of the pandemic remain uncertain and its ultimate impact is unknown.&#160; Further, availability under the Siena Credit Facility depends in part on
    inventory levels, which have been impacted and are expected to continue to be impacted by supply chain disruptions due to the COVID-19 pandemic.&#160; As a result, we continue to evaluate several different strategies to enhance our liquidity position as a
    result of the significant financial and operational impacts due to the COVID-19 pandemic.&#160; These strategies may include, but are not limited to, seeking to raise additional capital through an equity or debt financing.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Credit Facility and Borrowings</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">On March 13, 2020, we entered into the Siena Credit Facility with Siena Lending Group LLC and terminated our credit facility with TD
    Bank N.A..&#160; The Siena Credit Facility provides for a revolving credit line of up to $10 million expiring on March 13, 2023.&#160; Borrowings under the Siena Credit Facility bear a floating rate of interest equal to the greatest of (i) the prime rate plus
    1.75%, (ii) the federal funds rate plus 2.25%, and (iii) 6.50%.&#160; The total deferred financing costs related to expenses incurred to complete the Siena Credit Facility were $245 thousand.&#160; We also pay a fee of 0.50% on unused borrowings under the Siena
    Credit Facility.&#160; Borrowings under the Siena Credit Facility are secured by a lien on substantially all the assets of the Company.&#160; Borrowings under the Siena Credit Facility are subject to a borrowing base based on (i) 85% of eligible accounts
    receivable plus the lesser of (a) $5 million and (b) 50% of eligible raw material and 60% of finished goods inventory.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Siena Credit Facility imposes a financial covenant on the Company and restricts, among other things, our ability to incur
    additional indebtedness and the creation of other liens.&#160; The three month period from April 1, 2020 to June 30, 2020 was the first period we were subject to the financial covenant, which required the Company to maintain a minimum EBITDA and continued
    through the 12-month period from April 1, 2020 to March 31, 2021.&#160; On July 21, 2021, the Company entered into an amendment (the &#8220;Credit Facility Amendment&#8221;) to the Siena Credit Facility.&#160; The Credit Facility Amendment changed the financial covenant
    under the Siena Credit Facility from a minimum EBITDA covenant to an excess availability covenant requiring that the Company maintain excess availability of at least $750 thousand under the Siena Credit Facility, tested as of the end of each calendar
    month, beginning with the calendar month ending July 31, 2021.&#160;From July 31, 2021 to December 31, 2021, we have been in compliance with our excess availability covenant.&#160; As of December 31, 2021, we had no outstanding borrowings under the Siena Credit
    Facility and $5.1 million of available borrowing capacity under the Siena Credit Facility.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">On May 1, 2020 (the &#8220;Loan Date&#8221;), the Company was granted the PPP Loan with Berkshire Bank in the aggregate amount of $2.2 million,
    pursuant to the PPP which is administered by the SBA and was established under Division A, Title I of the CARES Act, enacted March 27, 2020.&#160; Under the terms of the PPP, the PPP Loan would be forgiven to the extent that funds from the PPP Loan were
    used for payroll costs and costs to continue group health care benefits, as well as for interest on mortgage obligations incurred before February 15, 2020, rent payments under lease agreements in effect before February 15, 2020, utilities for which
    service began before February 15, 2020 and interest on debt obligations incurred before February 15, 2020, subject to conditions and limitations provided in the CARES Act.&#160; At least 60% (under the PPP terms, as amended) of the proceeds of the PPP Loan
    needed to have been used for eligible payroll costs for the PPP Loan to be forgiven.</div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">28</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The PPP Loan, which was evidenced by a Note dated the Loan Date issued by the Company in favor of Berkshire Bank as a lender, was
    scheduled to mature on May 1, 2022 and had a fixed interest rate of 1.0% per annum, accruing from the Loan Date and payable monthly. The Company submitted its PPP Loan forgiveness application in May 2021 to the SBA through Berkshire Bank and submitted
    the related loan necessity questionnaire in June 2021.&#160; On July 8, 2021, the Company received notifications from Berkshire Bank and the SBA that its PPP Loan (including all interest accrued thereon) of $2.2. million had been fully forgiven by the SBA
    and that the forgiveness payment date was July 1, 2021.&#160; No payments were due on the PPP Loan for six months from the date of first disbursement, and because a loan forgiveness application was submitted to the SBA within 10 months after the end of the
    covered period, no payments were due until the date on which the SBA remitted the loan forgiveness amount to the PPP Lender, and interest that accrued during the deferment period was included in the forgiveness amount.&#160; The forgiveness of the PPP Loan
    was reported as &#8220;Gain on forgiveness of long-term debt&#8221; in the Consolidated Statement of Operations during the year ending December 31, 2021.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Stock Repurchase Program</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">During 2021 and 2020 we did not repurchase any shares of our common stock.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Shareholders&#8217; Equity</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Shareholders&#8217; equity increased $8.8 million, or 29%, to
      $39.0 million at December 31, 2021 from $30.2 million at December 31, 2020.&#160; The increase was primarily due to the completion of an underwritten public offering during 2021 which raised net proceeds of $11.2 million, after deducting u</span>nderwriting




    discounts, commissions and offering expenses.&#160; Shareholders&#8217; equity also increased, although to a lesser extent, from share-based compensation expense related to stock awards of $1.2 million and $0.4 million from the issuance of 97,000 shares of common
    stock related to employee stock awards, net of relinquishments.&#160; These increases were partially offset by a net loss of $4.1 million.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">29</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 7A. Quantitative and Qualitative Disclosures about Market Risk.</div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct is a smaller reporting company, as defined in Item 10(f)(1) of Regulation S-K, and is not required to provide information under
    this item.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 8. Financial Statements and Supplementary Data.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The financial statements of the Company are annexed to this Form 10-K as pages F-4 through F-22.&#160; The &#8220;Report of Independent Registered
    Public Accounting Firm&#8221; is annexed to this Form 10-K as of page F-2.&#160; An index to such materials appears on page F-1.</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 9. Changes in and Disagreements with Accountants on Accounting and Financial Disclosure.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Not applicable.</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 9A. Controls and Procedures.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Evaluation of Disclosure Controls and Procedures</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Our management, with the participation of our Chief
      Executive Officer (&#8220;CEO&#8221;) and Chief Financial Officer (&#8220;CFO&#8221;), evaluated the effectiveness of our disclosure controls and procedures, as defined in Rule 13a-15I under the </span>Securities <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Exchange Act </span>of 1934, as amended (the &#8220;Exchange Act&#8221;) <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">as of December 31, 2021.&#160; In the Amendment to our Annual Report on Form 10-K for the
      year ended December 31, 2018, filed with the SEC on November 21, 2019, we disclosed that management, including our CEO and CFO, concluded that our disclosure controls and procedures were not effective as of December 31, 2018, due to material
      weaknesses in our internal control over financial reporting. As of December 31, 2021, management has completed the implementation of new controls, which are described below, to fully remediate these material weaknesses.&#160; Upon completion of the
      remediation, </span>our Chief Executive Officer and Chief Financial Officer concluded that, as of December 31, 2021, our disclosure controls and procedures are effective at the reasonable assurance level.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our management, including our CEO and CFO, has concluded that our consolidated financial statements, included in this Form 10-K, fairly
    present, in all material respects, our financial condition, results of operations and cash flows for the periods presented in conformity with generally accepted accounting principles, and that they can still be relied upon.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Management&#8217;s Annual Report on Internal Control Over Financial Reporting</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our management is responsible for establishing and maintaining adequate internal control over financial reporting, as defined in Rule
    13a-15(f) under the Exchange Act, to provide reasonable assurance regarding the reliability of our financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles.&#160;
    Internal control over financial reporting includes those policies and procedures that (i) pertain to the maintenance of records that in reasonable detail accurately and fairly reflect the transactions and dispositions of the assets of the Company; (ii)
    provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the Company are being made only in
    accordance with authorizations of management and directors of the Company; and (iii) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use or disposition of the Company&#8217;s assets that could have a
    material effect on the financial statements.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our management assessed our internal control over financial reporting as of December 31, 2021. Our management based its assessment on
    criteria established in <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Internal Control&#8211;Integrated Framework</span> issued by the Committee of Sponsoring Organizations of the Treadway Commission (&#8220;2013
    COSO&#8221;).&#160; In the opinion of management, TransAct maintained effective internal control over financial reporting as of December 31, 2021.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">A material weakness is defined in Rule 12b-2 under the Exchange Act as a deficiency, or a combination of deficiencies, in internal
    control over financial reporting, such that there is a reasonable possibility that a material misstatement of the Company&#8217;s annual or interim financial statements will not be prevented or detected on a timely basis.</div>

  <div style="line-height: 9.1pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Material Weaknesses in Internal Control Over Financial Reporting</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We identified a control deficiency that constituted a material weakness in our internal control over financial reporting as of December
    31, 2020, 2019 and 2018 and has been fully remediated as of December 31, 2021.&#160; The control deficiency was that we did not design and maintain effective controls over the completeness and accuracy of information included in key spreadsheets supporting
    our accounting records (the &#8220;Spreadsheet Control Weakness&#8221;).</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a id="_Hlk24616932"><!--Anchor--></a>This control deficiency constituted a material weakness, but did not result in a material
    misstatement to our annual or interim consolidated financial statements.</div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">30</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Remediation Efforts to Address Material Weaknesses</div>

  <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Beginning December 31, 2019, we commenced developing and implementing a plan to enhance the design and operating effectiveness of our
    internal control over financial reporting, which included taking the following steps to remediate the identified control deficiency and material weakness:</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">For each key spreadsheet we evaluated and determined (1) if a standard Oracle report existed containing the same information as the
    spreadsheet, and if so, we utilized the standard Oracle report (without modification) instead of the spreadsheet to support our accounting records, and (2) if a standard Oracle report cannot be used, we implemented a new key control whereby an employee
    performs a formal validation that the information from Oracle is completely and accurately transferred (automatically or manually) to a spreadsheet by verifying totals and other information on a test basis.&#160; For all key spreadsheets, we have designed
    and implemented a new key control to validate the completeness and accuracy of information supporting our accounting records.&#160; During 2020 and the first quarter of 2021, we completed the evaluation process for each key spreadsheet based on the above
    criteria, and during the second quarter of 2021, we completed the implementation of new key controls for all of our key spreadsheets to validate the completeness and accuracy of the information contained within and supporting each such spreadsheet.&#160;
    During the second half of 2021, we completed our evaluation of the new controls for effectiveness, and the Spreadsheet Control Weakness was deemed to be remediated as of December 31, 2021.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Changes in Internal Control over Financial Reporting</div>

  <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other than the changes intended to remediate the material weakness noted above, no change in our internal control over financial
    reporting (as defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act) occurred during the three months ended December 31, 2021 that has materially affected, or is reasonably likely to materially affect, our internal control over financial
    reporting.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 9B. Other Information.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Not applicable.</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 9C. Disclosure Regarding Foreign Jurisdictions that Prevent Inspection.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Not applicable.</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">31</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">PART III</div>

  <div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 10. Directors, Executive Officers and Corporate Governance.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Set forth in Item 1 of this Form 10-K is certain information regarding our executive officers.&#160; The remaining information in response
    to this item will be contained in our Proxy Statement for our 2022 Annual Meeting of Stockholders (the &#8220;Proxy Statement&#8221;), as applicable, under the headings, &#8220;Delinquent Section 16(a) Reports,&#8221; &#8220;Corporate Governance,&#8221; &#8220;Proposal 1: Election of
    Directors,&#8221; &#8220;Audit Committee Report,&#8221; &#8220;Executive Compensation &#8211; Compensation Committee Report,&#8221; &#8220;Stockholder Proposals for 2023 Annual Meeting,&#8221; &#8220;Procedures for Submitted Director Nominations and Recommendations&#8221; and &#8220;Policy Regarding Stockholder
    Communications with the Board of Directors,&#8221; which will be filed within 120 days after the end of the year covered by this Form 10-K and is incorporated herein by reference.</div>

  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Code of Ethics</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We maintain a Standards of Business Conduct and Code of Ethics (&#8220;Standards of Business Conduct&#8221;) that includes our code of ethics that
    is applicable to all employees, including our Chief Executive Officer, Chief Financial Officer, Chief Accounting Officer and Controller.&#160; Our Standards of Business Conduct, which require continued observance of high ethical standards, such as honesty,
    integrity and compliance with the law in the conduct of our business, are available for public access on our Internet website at https://transacttech.gcs-web.com/corporate-governance.&#160; Any person may request a copy of our Standards of Business Conduct
    free of charge by calling (203) 859-6800.</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 11. Executive Compensation.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The information in response to this item will be contained in the Proxy Statement under the heading &#8220;Executive Compensation,&#8221; and is
    incorporated herein by reference.</div>

  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 12. Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Set forth below is certain information regarding our equity compensation plans.&#160; The remaining information in response to this item
    will be contained in the Proxy Statement under the heading, &#8220;Security Ownership of Certain Beneficial Owners and Management,&#8221; and is incorporated herein by reference.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Equity Compensation Plan Information</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Information regarding our equity compensation plans as of December 31, 2021 is as follows:</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); width: 40%;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Plan category</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(a)</div>
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Number of securities to be</div>
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">issued upon exercise of outstanding</div>
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">options, warrants and rights</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(b)</div>
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Weighted-average exercise price</div>
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">of outstanding options, warrants and rights</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(c)</div>
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Number of securities remaining available for</div>
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">future issuance under equity compensation plans</div>
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(excluding securities reflected in column (a)</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 40%;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Equity compensation plans approved by security holders:</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 40%; background-color: rgb(204, 238, 255);">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2005 Equity Incentive Plan</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 17%; background-color: rgb(204, 238, 255);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">195,500</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 17%; background-color: rgb(204, 238, 255);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9.52</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 17%; background-color: rgb(204, 238, 255);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 40%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2014 Equity Incentive Plan</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 17%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,229,080</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 17%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7.97</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 17%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">611,652</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 40%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 17%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,424,580</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 17%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8.18</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 17%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">611,652</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In May 2014, our stockholders approved the adoption of the 2014 Equity Incentive Plan.&#160; In May 2020, our stockholders approved an
    amendment to the 2014 Equity Incentive Plan to increase the number of shares of common stock which may be subject to awards granted under the plan from 1,400,000 to its current level of 2,200,000.&#160; The Company also maintains the 2005 Equity Incentive
    Plan; however no new awards will be available for future issuance under this plan.&#160; Both plans generally provide for awards in the form of: (i) incentive stock options, (ii) non-qualified stock options, (iii) restricted stock, (iv) restricted stock
    units (which may include performance-based vesting), (v) stock appreciation rights or (vi) limited stock appreciation rights.&#160; The Company does not have any equity plans that have not been approved by its stockholders.</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 13. Certain Relationships and Related Transactions, and Director Independence.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The information in response to this item will be contained in the Proxy Statement under the headings &#8220;Certain Relationships and Related
    Transactions&#8221; and &#8220;Corporate Governance-Board Leadership Structure and Independence&#8221; and is incorporated herein by reference.</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 14. Principal Accounting Fees and Services.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The information in response to this item will be contained in the Proxy Statement under the headings, &#8220;Policy Regarding Pre-Approval of
    Services Provided by the Independent Registered Public Accounting Firm&#8221; and &#8220;Independent Registered Public Accounting Firm&#8217;s Services and Fees&#8221; and is incorporated herein by reference.</div>

  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">32</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">PART IV</div>

  <div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 15. Exhibits and Financial Statement Schedules.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div>
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; align: right;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">(a)</div>
          </td>

    <td style="width: auto; vertical-align: top;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">The following documents are filed as part of this Form 10-K:</div>
          </td>

  </tr>


</table>
  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div>
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; align: right;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">1.</div>
          </td>

    <td style="width: auto; vertical-align: top;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Financial Statements.</div>
          </td>

  </tr>


</table>
  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 100%; vertical-align: top;">
          <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Report of Independent Registered Public Accounting Firm</div>
        </td>

  </tr>

  <tr>

    <td style="width: 100%; vertical-align: top;">
          <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Consolidated Balance Sheets as of December 31, 2021 and 2020</div>
        </td>

  </tr>

  <tr>

    <td style="width: 100%; vertical-align: top;">
          <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Consolidated Statements of Operations for the years ended December 31, 2021 and 2020</div>
        </td>

  </tr>

  <tr>

    <td style="width: 100%; vertical-align: top;">
          <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Consolidated Statements of Comprehensive Loss for the years ended December 31, 2021 and 2020</div>
        </td>

  </tr>

  <tr>

    <td style="width: 100%; vertical-align: top;">
          <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Consolidated Statements of Changes in Shareholders&#8217; Equity for the years ended December 31, 2021 and 2020</div>
        </td>

  </tr>

  <tr>

    <td style="width: 100%; vertical-align: top;">
          <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Consolidated Statements of Cash Flows for the years ended December 31, 2021 and 2020</div>
        </td>

  </tr>

  <tr>

    <td style="width: 100%; vertical-align: top;">
          <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Notes to Consolidated Financial Statements</div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div>
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; align: right;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">2.</div>
          </td>

    <td style="width: auto; vertical-align: top;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Schedules.</div>
          </td>

  </tr>


</table>
  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">All schedules are omitted because they are either inapplicable or not required, or because the information required therein is included in
    the Consolidated Financial Statements and Notes thereto.</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="text-align: left; text-indent: -18pt; margin-left: 36pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">3. Exhibits.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Exhibits Index</div>

  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730319000054/certificateofincorporation.htm">3.1(a)</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Certificate of Incorporation of TransAct Technologies Incorporated (conformed copy) (incorporated by reference to Exhibit 3(i)
            of the Company&#8217;s Quarterly Report on Form 10-Q (SEC File No. 000-21121) filed with the SEC on August 9, 2019).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/0000914039-99-000055.txt">3.1(b)</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Certificate of Designation, Series A Preferred Stock, filed with the Secretary of State of Delaware on December 2, 1997
            (incorporated by reference to Exhibit C of the Company&#8217;s Current Report on Form 8-K (SEC File No. 000-21121) filed with the SEC on February 18, 1999).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000091403900000221/0000914039-00-000221.txt">3.1(c)</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Certificate of Designation, Series B Preferred Stock, filed with the Secretary of State of Delaware on April 6, 2000
            (incorporated by reference to Exhibit 3.1(c) of the Company&#8217;s Quarterly Report on Form 10-Q (SEC File No. 000-21121) filed with the SEC on May 8, 2000).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730319000050/exhibit31.htm">3.2</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amended and Restated By-laws of the Company (incorporated by reference to Exhibit 3.1 of the Company&#8217;s Current Report on Form
            8-K (SEC File No. 000-21121) filed with the SEC on August 2, 2019).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/0000950135-96-003298.txt">4.1</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Specimen Common Stock Certificate (incorporated by reference to Exhibit 4.1 of the Company&#8217;s Registration Statement on Form
            S-1/A (No. 333-06895) filed with the SEC on August 1, 1996).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730320000012/exhibit42.htm">4.2</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Description of Securities (incorporated by
              reference&#160;to Exhibit 4.2 of the Company&#8217;s Annual Report on Form 10-K (SEC File No.</span></div>
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">000-21121) filed with the SEC on March 16, 2020).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000095012305006988/y09630exv99w1.txt">10.1</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2005 Equity Incentive Plan (incorporated by reference to Exhibit 99.1 of the Company&#8217;s Current Report on Form 8-K (SEC File No.
            000-21121) filed with the SEC on June 1, 2005).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730320000024/def14aproxy.htm">10.2</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct Technologies Incorporated 2014 Equity Incentive Plan, as Amended and Restated (incorporated by reference to Exhibit I
            to the Definitive Proxy Statement on Schedule 14A filed with the Commission on April 23, 2020, File No. 000-21121).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730316000100/exhibit102.htm">10.3</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2014 Equity Incentive Plan Time-based Restricted Stock Unit Agreement (incorporated by reference to Exhibit 10.2 of the
            Company&#8217;s Quarterly Report on Form 10-Q (SEC File No. 000-21121) filed with the SEC on May 6, 2016).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730316000112/exhibit101.htm">10.4</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2014 Equity Incentive Plan Performance-based Restricted Stock Unit Agreement (incorporated by reference to Exhibit 10.1 of the
            Company&#8217;s Quarterly Report on Form 10-Q (SEC File No. 000-211121) filed with the SEC on August 8, 2016).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #CCEEFF;" rowspan="1">&#160;<a href="https://www.sec.gov/Archives/edgar/data/1017303/000101730314000027/exhibit10-02.htm">10.5</a>(x)</td>

    <td style="width: 91.64%; vertical-align: top; background-color: #CCEEFF;" rowspan="1"><span style="font-size: 10pt;">2014 Equity Incentive Plan Nonstatutory Stock Option Agreement (incorproated by reference to Exhibit 10.2 of the Company's current
            Report on Form 8-K (SEC File No. 000-21121) filed with the SEC on May 19, 2014)</span>.<br />
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(255, 255, 255);">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/0000950135-96-003298.txt">10.6</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(255, 255, 255);">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Employment Agreement, dated July 31, 1996, by and between TransAct and Bart C. Shuldman (incorporated by reference to Exhibit
            10.20 of the Company&#8217;s Registration Statement on Form S-1/A (No. 333-06895) filed with the SEC on August 1, 1996).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000095012305003228/y06777exv10w8wx.txt">10.7</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Severance Agreement by and between TransAct and Steven A. DeMartino, dated June 1, 2004 (incorporated by reference to Exhibit
            10.8 of the Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 16, 2005).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(255, 255, 255);">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730309000003/exhibit1010x.htm">10.8</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(255, 255, 255);">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amendment to Employment Agreement, effective January 1, 2008, by and between TransAct and Bart C. Shuldman (incorporated by
            reference to Exhibit 10.10 of the Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 16, 2009).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730309000003/exhibit1012x.htm">10.9</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(x)</span></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amendment to Severance Agreement by and between TransAct and Steven A. DeMartino, effective January 1, 2008 (incorporated by
            reference to Exhibit 10.12 of the Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 16, 2009).</div>
        </td>

  </tr>

  <tr>

    <td rowspan="1" style="width: 8.36%; vertical-align: top; background-color: rgb(255, 255, 255); font-size: 10pt;"><a href="exhibit1010.htm">10.10</a>(x)&#8225;</td>

    <td rowspan="1" style="width: 91.64%; vertical-align: top; background-color: rgb(255, 255, 255);"><span style="font-size: 10pt;">Severance Agreement by and between TransAct and Andrew J. Hoffman (as amended), effective December 23, 2008.</span><br />
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);" rowspan="1"><a href="exhibit1011.htm"><span style="font-size: 10pt;">10.11</span></a>(x)&#8225;</td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);" rowspan="1"><span style="font-size: 10pt;">Second Amendment to Severance Agreement by and between TransAct and Steven A. DeMartino, effective April 29, 2021</span>
          <br />
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(255, 255, 255);">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/0000950135-96-002813.txt">10.12</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(255, 255, 255);">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Lease Agreement by and between Bomax Properties and Ithaca, dated as of March 23, 1992 (incorporated by reference to Exhibit
            10.14 of the Company&#8217;s Registration Statement on Form S-1 (No. 333-06895) filed with the SEC on June 26, 1996).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: rgb(204, 238, 255);">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/0000914039-98-000134.txt">10.13</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: rgb(204, 238, 255);">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Second Amendment to Lease Agreement by and between Bomax Properties and Ithaca, dated December 2, 1996<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> (</span>incorporated by reference to Exhibit 10.27 of the Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 31, 1998).</div>
        </td>

  </tr>


</table>
  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">33</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000091403902000121/y58940ex10-8.txt">10.14</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Agreement regarding the Continuation and Renewal of Lease by and between Bomax Properties, LLC and TransAct, dated July 18,
            2001<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160;</span>(incorporated by reference to Exhibit 10.8 of the Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 29, 2002).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730312000026/exhibit1016.htm">10.15</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amendment No. 1 to Lease Agreement between Bomax Properties, LLC and TransAct (incorporated by reference to Exhibit 10.16 of
            the Company&#8217;s Quarterly Report on Form 10-Q (SEC File No. 000-21121) filed with the SEC on May 10, 2012).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730316000085/exhibit1013.htm">10.16</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amendment No. 2 to Lease Agreement between Bomax Properties, LLC and TransAct, dated January 14, 2016 (incorporated by
            reference to Exhibit 10.13 of the Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 11, 2016).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730320000006/exhibit101.htm">10.17</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amendment No. 3 to Lease Agreement between Bomax Properties, LLC and TransAct, dated February 28, 2020 (incorporated by
            reference to Exhibit 10.1 to the Company&#8217;s Current Report on Form 8-K (SEC File No. 000-21121) filed with the SEC on March 4, 2020).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000095012305003228/y06777exv10w13.txt">10.18</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Lease Agreement by and between Las Vegas Airport Properties LLC and TransAct dated December 2, 2004 (incorporated by reference
            to Exhibit 10.13 of the Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 16, 2005).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730310000006/exhibit1019.htm">10.19</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">First Amendment to Lease Agreement by and between CIP Hughes Center LLC and TransAct dated August 24, 2009 (incorporated by
            reference to Exhibit 10.19 of the Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 16, 2010).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730315000047/exhibit102.htm">10.20</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Second Amendment to Lease Agreement by and between The Realty Associates Fund IX LP and TransAct dated June 30, 2015
            (incorporated by reference to Exhibit 10.2 of the Company&#8217;s Quarterly Report on Form 10-Q (SEC File No. 000-21121) filed with the SEC on August 7, 2015).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000095012307003917/y31948exv10w14.txt">10.21</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Lease Agreement by and between 2319 Hamden Center I, L.L.C. and TransAct dated November 27, 2006 (incorporated by reference to
            Exhibit 10.14 of the Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 15, 2007).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730317000014/exhibit1020.htm">10.22</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">First Amendment to Lease by and between 2319 Hamden Center I, L.L.C. and TransAct dated January 3, 2017 (incorporated by
            reference to Exhibit 10.20 of the Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 16, 2017).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730321000042/exhbit101.htm">10.23</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Second Amendment to Lease by and between 2319 Hamden Center I, L.L.C. and TransAct Technologies dated April 30, 2021
            (incorporated by reference to Exhibit 10.1 of the Company&#8217;s Quarterly Report on Form 10-Q (SEC File No. 000-21121) filed with the SEC on May 13, 2021).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730320000037/exhibit102.htm">10.24</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Loan and Security Agreement, dated as of March 13, 2020, among Siena Lending Group LLC, TransAct Technologies Incorporated and
            the other Loan Parties from time to time party thereto (incorporated by reference to Exhibit 10.2 of the Company&#8217;s Quarterly Report on Form 10-Q (SEC File No. 000-21121) filed with the SEC on May 22, 2020).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000101730321000061/exihibit991.htm">10.25</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amendment No. 1 To Loan and Security Agreement, dated as of July 21, 2021, among Siena Lending Group and TransAct Technologies
            Incorporated (incorporated by reference to Exhibit 99.1 to the Company&#8217;s Current Report on Form 8-K (SEC File No. 000-21121) filed with the SEC on July 26, 2021)</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a href="https://www.sec.gov/Archives/edgar/data/1017303/000101730321000020/ex10_24.htm">10.26</a>&#8224;</div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Master License Agreement dated February 22, 2019 and amendments thereto (incorporated by reference to Exhibit 10.24 to the
            Company&#8217;s Annual Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 12, 2021).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a href="https://www.sec.gov/Archives/edgar/data/1017303/000101730321000020/ex10_25.htm"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">1</span>0.27</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#8224;</span></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Master Development and License Agreement dated July 20, 2018 (incorporated by reference to Exhibit 10.25 to the Company&#8217;s Annual
            Report on Form 10-K (SEC File No. 000-21121) filed with the SEC on March 12, 2021).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a href="https://www.sec.gov/Archives/edgar/data/1017303/000101730321000020/ex21.htm">21</a></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Subsidiaries of the Company(incorporated by reference to Exhibit 21 to the Company&#8217;s Annual Report on Form 10-K (SEC File No.
            000-21121) filed with the SEC on March 12, 2021).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a href="ex23_1.htm">23.1</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">*</span></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Consent of Marcum LLP</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a href="ex31_1.htm">31.1</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">*</span></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Rule 13a-14(a) Certification of Chief Executive Officer in accordance with Section 302 of the Sarbanes-Oxley Act of 2002.</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a href="ex31_2.htm">31.2</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">*</span></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Rule 13a-14(a) Certification of Chief Financial Officer in accordance with Section 302 of the Sarbanes-Oxley Act of 2002.</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a href="ex32.htm">32</a><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#8225;</span></div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Certification of Chief Executive Officer and Chief Financial Officer pursuant to 18 U.S.C. Section 1350 as adopted pursuant to
            Section 906 of the Sarbanes-Oxley Act of 2002.</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101.INS</div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">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).</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101.SCH</div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inline XBRL Taxonomy Extension Schema Document.</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101.CAL</div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inline XBRL Taxonomy Extension Calculation Linkbase Document.</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101.DEF</div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inline XBRL Taxonomy Extension Definition Linkbase Document.</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101.LAB</div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inline XBRL Taxonomy Extension Label Linkbase Document.</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101.PRE</div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inline XBRL Taxonomy Extension Presentation Linkbase Document.</div>
        </td>

  </tr>

  <tr>

    <td style="width: 8.36%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">104</div>
        </td>

    <td style="width: 91.64%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101).</div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(x)</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Management contract or compensatory plan or arrangement.</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">*</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">These exhibits are filed herewith.</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8224;</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Certain portions of this exhibit (indicated by &#8220;[***]&#8221;) have been omitted pursuant to Item (601)(b)(10) of Regulation S-K.</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8225;</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Furnished herewith.</div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div>
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; align: right;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">(b)</div>
          </td>

    <td style="width: auto; vertical-align: top;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Exhibits.</div>
          </td>

  </tr>


</table>
  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Exhibits required by Item 601 of Regulation S-K under the Exchange Act are included in the Exhibit Index above under a(3) of this Item
    15.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div>
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; align: right;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">(c)</div>
          </td>

    <td style="width: auto; vertical-align: top;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Financial Statement Schedules.</div>
          </td>

  </tr>


</table>
  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">See the Notes to the Consolidated Financial Statements included in this Form 10-K.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">34</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Item 16. Form 10-K Summary.</div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Not applicable.</div>

  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">35</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">SIGNATURES</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Pursuant to the requirements of Section 13 or 15(d) 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.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 40%; vertical-align: top;">&#160;</td>

    <td style="width: 60%; vertical-align: top;" colspan="2">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TRANSACT TECHNOLOGIES INCORPORATED</div>
        </td>

  </tr>

  <tr>

    <td style="width: 40%; vertical-align: top;">&#160;</td>

    <td style="width: 5%; vertical-align: top;">&#160;</td>

    <td style="width: 55%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 40%; vertical-align: top;">&#160;</td>

    <td style="width: 5%; vertical-align: top;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">By:</div>
        </td>

    <td style="width: 55%; vertical-align: top; border-bottom: #000000 2px solid;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ Bart C. Shuldman</div>
        </td>

  </tr>

  <tr>

    <td style="width: 40%; vertical-align: top;">&#160;</td>

    <td style="width: 5%; vertical-align: top;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Name:</div>
        </td>

    <td style="width: 55%; vertical-align: top;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Bart C. Shuldman</div>
        </td>

  </tr>

  <tr>

    <td style="width: 40%; vertical-align: top;">&#160;</td>

    <td style="width: 5%; vertical-align: top;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Title:</div>
        </td>

    <td style="width: 55%; vertical-align: top;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Chairman of the Board and Chief Executive Officer</div>
        </td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Date: March 24, 2022<br />
  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf
    of the registrant and in the capacities and on the dates indicated.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top; border-bottom: #000000 2px solid;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Signature</div>
        </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top; border-bottom: #000000 2px solid;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Title</div>
        </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top; border-bottom: #000000 2px solid;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Date</div>
        </td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">&#160;</td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top; border-bottom: #000000 2px solid;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ Bart C. Shuldman</div>
        </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Chairman of the Board and Chief Executive Officer</div>
        </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">March 24, 2022<br />
          </div>
        </td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Bart C. Shuldman</div>
        </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(Principal Executive Officer)</div>
        </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">&#160;</td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: bottom; border-bottom: #000000 2px solid;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ Steven A. DeMartino</div>
        </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">President, Chief Financial Officer, Treasurer and Secretary</div>
        </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">March 24, 2022</div>
        </td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Steven A. DeMartino</div>
        </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(Principal Financial Officer)</div>
        </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">&#160;</td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top; border-bottom: #000000 2px solid;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ David B. Peters</div>
        </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Vice President and Chief Accounting Officer</div>
        </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">March 24, 2022</div>
        </td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top; border-top: #000000 2px solid;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">David B. Peters</div>
        </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(Principal Accounting Officer)</div>
        </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">&#160;</td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top; border-bottom: #000000 2px solid;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ John M. Dillon</div>
        </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Director</div>
        </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">March 24, 2022</div>
        </td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">John M. Dillon</div>
        </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">&#160;</td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top; border-bottom: #000000 2px solid;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ Randall S. Friedman</div>
        </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Director</div>
        </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">March 24, 2022</div>
        </td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Randall S. Friedman</div>
        </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">&#160;</td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top; border-bottom: #000000 2px solid;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ Emanuel P. N. Hilario</div>
        </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Director</div>
        </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">March 24, 2022</div>
        </td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top; border-top: #000000 2px solid;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Emanuel P. N. Hilario</div>
        </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">&#160;</td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top; border-bottom: #000000 2px solid;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ Haydee Olinger</div>
        </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Director</div>
        </td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">March 24, 2022</div>
        </td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 8.88%; vertical-align: top;">&#160;</td>

    <td style="width: 25.06%; vertical-align: top;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Haydee Olinger</div>
        </td>

    <td style="width: 3.55%; vertical-align: top;">&#160;</td>

    <td style="width: 40.12%; vertical-align: top;">&#160;</td>

    <td style="width: 1.77%; vertical-align: top;">&#160;</td>

    <td style="width: 13.18%; vertical-align: top;">&#160;</td>

    <td style="width: 7.44%; vertical-align: top;">&#160;</td>

  </tr>


</table>
  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span class="DSPFPageNumber">36</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <!--PROfilePageNumberReset%Num%1%F-%%-->
  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">TRANSACT TECHNOLOGIES INCORPORATED</div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">INDEX TO CONSOLIDATED FINANCIAL STATEMENTS</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 88.28%; vertical-align: top;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Financial Statements</div>
        </td>

    <td style="width: 2.64%; vertical-align: top;">&#160;</td>

    <td style="width: 9.08%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 88.28%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Report of Independent Registered Public Accounting Firm (PCAOB ID <span style="-sec-ix-hidden:Fact_5e122460796c4895bd008c99bd8b8564">688</span>)</div>
        </td>

    <td style="width: 2.64%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 9.08%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">F-2</div>
        </td>

  </tr>

  <tr>

    <td style="width: 88.28%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Consolidated Balance Sheets as of December 31, 2021 and 2020</div>
        </td>

    <td style="width: 2.64%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 9.08%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">F-4</div>
        </td>

  </tr>

  <tr>

    <td style="width: 88.28%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Consolidated Statements of Operations for the years ended December 31, 2021 and 2020</div>
        </td>

    <td style="width: 2.64%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 9.08%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">F-5</div>
        </td>

  </tr>

  <tr>

    <td style="width: 88.28%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Consolidated Statements of Comprehensive Loss for the years ended December 31, 2021 and 2020</div>
        </td>

    <td style="width: 2.64%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 9.08%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">F-6</div>
        </td>

  </tr>

  <tr>

    <td style="width: 88.28%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Consolidated Statements of Changes in Shareholders&#8217; Equity for the years ended December 31, 2021 and 2020</div>
        </td>

    <td style="width: 2.64%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 9.08%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">F-7</div>
        </td>

  </tr>

  <tr>

    <td style="width: 88.28%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Consolidated Statements of Cash Flows for the years ended December 31, 2021 and 2020</div>
        </td>

    <td style="width: 2.64%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 9.08%; vertical-align: top; background-color: #FFFFFF;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">F-8</div>
        </td>

  </tr>

  <tr>

    <td style="width: 88.28%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Notes to Consolidated Financial Statements</div>
        </td>

    <td style="width: 2.64%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 9.08%; vertical-align: top; background-color: #CCEEFF;">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">F-9</div>
        </td>

  </tr>


</table>
  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-1</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Report of Independent Registered Publi<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">c
      Accounting Firm</span></div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">To the Shareholders and Board of Directors of Transact Technologies Incorporated</div>

  <div style="text-align: justify; line-height: 10.25pt; margin-top: 12pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Opinion on the Financial Statements</div>

  <div style="text-align: justify; line-height: 10.25pt; margin-top: 12pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">We have audited the
      accompanying consolidated balance sheets of TransAct Technologies Incorporated and its subsidiaries (the &#8220;Company&#8221;) as of December 31, 2021 and 2020, and the related consolidated statements of operations, comprehensive loss</span>,<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> changes in shareholders&#8217; equity and cash flows for each of the two years in the period ended December 31, 2021, and the related notes (collectively referred to as the
      &#8220;consolidated financial statements&#8221;). In our opinion, the consolidated financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2021 and 2020, and the results of its operations and its
      cash flows for each of the two years in the period ended December 31, 2021, in conformity with accounting principles generally accepted in the United States of America.</span></div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Basis for Opinion</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">These consolidated financial statements are the responsibility of the Company's management. Our responsibility is to express an opinion
    on the Company's consolidated financial statements based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) ("PCAOB") and are required to be independent with respect to the
    Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audits to
    obtain reasonable assurance about whether the consolidated financial statements are free of material misstatement, whether due to error or fraud. The Company is not required to have, nor were we engaged to perform, an audit of its internal control over
    financial reporting. As part of our audits we are required to obtain an understanding of internal control over financial reporting but not for the purpose of expressing an opinion on the effectiveness of the Company's internal control over financial
    reporting. Accordingly, we express no such opinion.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our audits included performing procedures to assess the risks of material misstatement of the consolidated financial statements,
    whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the consolidated financial statements. Our audits also included
    evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the consolidated financial statements. We believe that our audits provide a reasonable basis for our opinion.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Critical Audit Matters</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The critical audit matters communicated below are matters arising from the current period audit of the consolidated financial
    statements that were communicated or required to be communicated to the audit committee and that: (1) relate to accounts or disclosures that are material to the consolidated financial statements and (2) involved our especially challenging, subjective,
    or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the consolidated financial statements, taken as a whole, and we are not, by communicating the critical audit matters below, providing separate
    opinions on the critical audit matters or on the accounts or disclosures to which they relate.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Revenue recognition &#8211; Identification of Distinct Performance Obligations and Estimate of Standalone Selling Price</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">As described in Note 2 to the consolidated financial statements, some of the Company&#8217;s contracts with customers contain multiple
    performance obligations (most commonly when contracts include a hardware product, software and extended warranties). A contract's transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the
    performance obligation is satisfied. The transaction price is determined based on the consideration to which the Company will be entitled in exchange for transferring services to the customer. For a majority of the Company&#8217;s revenue, which consists of
    printers, terminals, consumables, and replacement parts, the Company recognizes revenue as of a point of time; the revenue is recognized upon shipment of the order when control of the goods is transferred to the customer and at the time the performance
    obligation is fulfilled. Performance obligations are satisfied over time if the customer receives the benefits as the Company performs work. The Company&#8217;s cloud-based BOHA! software, provided on a subscription basis, allows customers to use hosted
    software over the contract period without taking possession of the software and is recognized ratably over the contract period. For extended warranties, the transaction price is recognized ratably over the warranty period, using output methods, as
    control of the services is transferred to the customer. When there is more than one performance obligation in a customer arrangement, the Company typically uses the &#8220;standalone selling price&#8221; method to determine the transaction price to allocate to
    each performance obligation.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-2</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">
    <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In 2020, the Company launched a new service offering related to BOHA! for one customer that bundled the BOHA! products (cloud-based
      SaaS software applications, hardware and after-market service) in one price payable monthly over a three-year period. During the year ended December 31, 2021, the Company recognized revenue from this contract with the customer related to this service
      offering in the amount of approximately $312 thousand. Judgement was required by management to identify the performance obligations in the contract and allocate the transaction price to each performance obligation.</div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">
    <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The principal considerations for our determination that revenue recognition, specifically related to management&#8217;s identification of
      distinct performance obligations and the estimation of standalone selling prices related to this service offering, is a critical audit matter are that there was significant judgment by management in (1) the identification of distinct performance
      obligations related to this service offering, specifically the determination that one distinct performance obligation existed for point in time revenue recognition and three distinct performance obligations existed for over-time revenue recognition,
      (2) the estimation of the standalone selling price using market pricing conditions and other observable inputs, such as historical pricing practices, for each distinct performance obligation; (3) the determination that a significant financing
      component existed in the arrangement with the customer, therefore, requiring deferral of a portion of the point in time revenue to be recognized as interest income over the contract period; (4) management&#8217;s election of the accounting policy expedient
      to exclude sales taxes collected from customers from the transaction price in accordance with ASU 2016-12; and (5) the identification of costs incurred to obtain the contract and management&#8217;s decision to defer such costs and recognize the expense on
      a straight-line basis over the life of the contract. This in turn led to a high degree of auditor judgment and subjectivity in performing our audit procedures, which were designed to evaluate audit evidence related to management&#8217;s identification of
      distinct performance obligations within the contract with the customer related to this service offering and the judgments made by management to estimate the standalone selling prices used to allocate the transaction price to those distinct
      performance obligations identified. Due to this complexity, there was significant effort in performing our audit procedures to evaluate the reasonableness of management&#8217;s estimates used in the Company&#8217;s application of the accounting standard related
      to revenue recognition for this service offering.</div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">
    <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Addressing the matter involved performing procedures and evaluating audit evidence in connection with forming our overall opinion on
      the consolidated financial statements. These procedures included, among others, (i) evaluating the Company&#8217;s revenue recognition accounting policy resulting from its application of the accounting standard related to revenue recognition; (ii)
      evaluating management&#8217;s identification of distinct performance obligations in its contract with the customer; (iii) evaluating management&#8217;s process for estimating the standalone selling price which included testing the completeness and accuracy of
      input data used and evaluating the reasonableness of significant assumptions used by management, principally observable inputs such as historical pricing practices; and (iv) evaluation of the accuracy of management&#8217;s allocation of the transaction
      price to the performance obligations contained within the related contract with the customer.</div>

  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ <ix:nonNumeric name="dei:AuditorName" id="Fact_23105aaff6b443d68cc6700939a027ec" contextRef="c20210101to20211231">Marcum LLP</ix:nonNumeric></div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We have served as the Company&#8217;s auditor since 2020.</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonNumeric name="dei:AuditorLocation" id="Fact_b17001a6f4d84c5f89c389ba35595b9b" contextRef="c20210101to20211231">Hartford, Connecticut</ix:nonNumeric><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"><br />
    </span>March 24, 2022</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-3</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">TRANSACT TECHNOLOGIES INCORPORATED</div>

  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">CONSOLIDATED BALANCE SHEETS</div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">(In thousands, except share data)</div>

  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Assets:</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Current assets:</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Cash and cash equivalents</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" id="Fact_6cb2aa7a89b1444bbea80af4f0b0cc94" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">19,457</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" id="Fact_1384735c58324f5f993741a376fec0e0" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">10,359</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accounts receivable, net</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" id="Fact_162fd256363f42e0a7b101c890aeece9" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">7,593</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" id="Fact_36b2a521a8f14c33bd2d6307140aa8b0" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">3,377</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Employee retention credit receivable</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NontradeReceivablesCurrent" id="Fact_92bd371ed4a04f48a03ba60a390a48fc" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,500</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NontradeReceivablesCurrent" id="Fact_19f0c99d442640d7ac133b31b22865e3" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Note receivable</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NotesAndLoansReceivableNetCurrent" id="Fact_584c81f472b742c892af3d7f381e7756" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NotesAndLoansReceivableNetCurrent" id="Fact_498a7bd579f34747b71adb43dd15d143" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">100</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inventories</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_6046c20402bc4a75a29c1d7adbe18130" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">7,720</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_f53ff3ffe5c94b8bb47f21f73fb7fbe4" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">11,286</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Prepaid income taxes</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PrepaidTaxes" id="Fact_8d4130cb137d456e9f3c5ec9d95782b0" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">137</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PrepaidTaxes" id="Fact_5ac292f6466848e486af3c5a759d6b49" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,409</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other current assets</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" id="Fact_fe40ba50c62b4873a91ecad23710696c" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">738</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" id="Fact_2ead9d18f1fa40e2b252d51b09e7a55e" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">644</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total current assets</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AssetsCurrent" id="Fact_e00537d3834a4b8c9f94479b36f0a38b" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">37,145</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AssetsCurrent" id="Fact_e76b4ca2187340dd8bb6f4acfeed5ac2" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">28,175</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Fixed assets, net</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_e63b912f6a6046a4858bdd6889971c31" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,684</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_4ce8e4c639b549f087d47b4372793d60" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,950</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Notes receivable, net of current portion</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NotesAndLoansReceivableNetNoncurrent" id="Fact_e6b8926701b34d248452c39b7f55f8a3" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NotesAndLoansReceivableNetNoncurrent" id="Fact_1a4ce2bd651a4bb0837de6bb13bf8a34" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,584</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Right-of-use asset</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" id="Fact_3d9750ec049c4f778ada75d5c34e42c7" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,553</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" id="Fact_8a1a51e5c03d4f9ea62eee35157d98d8" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">3,618</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Goodwill</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:Goodwill" id="Fact_d36bb891f1974c73ba9d6deec645598b" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,621</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:Goodwill" id="Fact_9a59150ee37f4de3b08731eb5bca54eb" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,621</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred tax assets</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" id="Fact_b3d02eaa0a3741729347f8966b88887b" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">5,141</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" id="Fact_a567596764fc4442b73030a5ba2546cd" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,939</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Intangible assets, net</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" id="Fact_639e30276e1f4f658fcaf8df4290ca0e" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">397</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" id="Fact_7a3e9719417e4152b57eedafe51f8e77" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">583</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other assets</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" id="Fact_c959393fccdc41f1999789535e7a79ba" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">400</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" id="Fact_506604552f7a4ad1a370a76b433c6983" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">777</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AssetsNoncurrent" id="Fact_d3e2d8fa4b564f5581fac9b431a28233" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">13,796</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AssetsNoncurrent" id="Fact_95edf9c476ab4df1af892df901fcb796" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">14,072</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total assets</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:Assets" id="Fact_698497e70b534d7692473e82010c4072" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">50,941</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:Assets" id="Fact_490064fea4e84de8ae1d06b34639460f" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">42,247</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Liabilities and Shareholders&#8217; Equity:</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Current liabilities:</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accounts payable</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" id="Fact_b2044052ac8346d7926cd1b41ff2f00a" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">4,308</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" id="Fact_3ba7c38ad7794fd5be8aca869a617feb" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,691</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accrued liabilities</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" id="Fact_0e8a1bd2f60b431790d966d785ddd3a7" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">3,894</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" id="Fact_198f44772b4045088c39530f0af1f8a5" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">3,665</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Lease liability</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" id="Fact_2b3ffd0d8f964100a4ac7498f0c3cbd7" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">789</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" id="Fact_34822d5cc2614acea9cdc7083bddc28d" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">837</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred revenue</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" id="Fact_4fa3466082464ccd99dd084603009b1f" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">805</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" id="Fact_a711a5b6d1af4293bb1a7caaf3bec921" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">504</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total current liabilities</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" id="Fact_37235067eba349cf864f84a0ba630bd5" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">9,796</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" id="Fact_71f5f2114412483cb972b95553cb2da2" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">6,697</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Long-term debt</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:UnsecuredLongTermDebt" id="Fact_e459388b1e914124b3baa6d478558dee" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:UnsecuredLongTermDebt" id="Fact_ae41bc9653e94cb89c54f1754fb87eb0" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,173</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred revenue, net of current portion</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityNoncurrent" id="Fact_40c7bc4bb807424a8dd43f89132cd62f" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">186</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityNoncurrent" id="Fact_1e9d96364dd44d8e8e057cb0c39536b8" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">111</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Lease liability, net of current portion</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" id="Fact_1e53514faf6a4ebab7bfe3d8920279a4" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,781</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" id="Fact_95005edc5da44464a40eadafb4090d34" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,864</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other liabilities</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherLiabilitiesNoncurrent" id="Fact_4a851d07197f461db51aefa2b3993859" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">187</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherLiabilitiesNoncurrent" id="Fact_8710385969124270b7e377cdb3f79c80" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">166</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:LiabilitiesNoncurrent" id="Fact_b01a76739a19455cba1c858939a71086" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,154</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:LiabilitiesNoncurrent" id="Fact_794bf7ef94f1464bb217f9fc91d51470" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">5,314</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total liabilities</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:Liabilities" id="Fact_68662d5bb87943be85bfd33c21dfb321" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">11,950</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:Liabilities" id="Fact_88e504de076844e5b6ebbee1cf83ab98" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">12,011</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Commitments and contingencies</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CommitmentsAndContingencies" id="Fact_1ef3493c51c7434da09ecab64a6cee20" contextRef="c20211231" unitRef="U001" xsi:nil="true" format="ixt:nocontent"></ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CommitmentsAndContingencies" id="Fact_334448075d404c1faf6cefe337bbcce3" contextRef="c20201231" unitRef="U001" xsi:nil="true" format="ixt:nocontent"></ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Shareholders&#8217; equity:</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Preferred stock, $<span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" id="Fact_e03c4000c1444162b3d5f40bd1df04db" contextRef="c20201231" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" id="Fact_31138f2c191e447981831450a10feaf7" contextRef="c20211231" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">0.01</ix:nonFraction></ix:nonFraction></span> value, <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" id="Fact_386081d4c791452b81e15a1cc10ccfe4" contextRef="c20201231" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" id="Fact_a84809d944984708b8f18979756e32c1" contextRef="c20211231" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">4,800,000</ix:nonFraction></ix:nonFraction></span> authorized, <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" id="Fact_57625c87cca043cc919661a54a2bd97c" contextRef="c20201231" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" id="Fact_85519cc14dd94e9e8bc663ab9cb2149d" contextRef="c20211231" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" id="Fact_1423b80b43dc4d20a11e90d5970fe45d" contextRef="c20201231" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" id="Fact_202be78d04434c0b8d1580619dfd6479" contextRef="c20211231" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen">none</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></span> issued and outstanding</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PreferredStockValue" id="Fact_d278b65b2a4140ed86bb3c41ae5345cc" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PreferredStockValue" id="Fact_347438ffe5574863816a56f513e6a49a" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Preferred stock, Series A, $<span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" id="Fact_e58de175e0de4aa3a8f8e9b086a7b04d" contextRef="c20201231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" id="Fact_477c8e6499f74698a05e96d8e2276b8d" contextRef="c20211231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">0.01</ix:nonFraction></ix:nonFraction></span> par value, <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" id="Fact_ba3e080b8a9a4e23a4a13ddb100b5d3d" contextRef="c20201231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" id="Fact_a7a067bf57764e5db4102215ed41daf9" contextRef="c20211231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">200,000</ix:nonFraction></ix:nonFraction></span> authorized, <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" id="Fact_ae54c67a9a7549b4b6c6fb8becdf6ca8" contextRef="c20201231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" id="Fact_bb9ef0eb2a244851bb0cbef128747f74" contextRef="c20211231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" id="Fact_feedc2ccdb4d408e8fa579c799f9ecf1" contextRef="c20201231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" id="Fact_840b242ff0b0446ebdce7724139a6f90" contextRef="c20211231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen">none</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction></span> issued and outstanding</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PreferredStockValue" id="Fact_27a25c167c444f67ba1fcd636b6626f7" contextRef="c20211231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PreferredStockValue" id="Fact_e6b330651d9040ba979f8aabc1d8aa42" contextRef="c20201231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Common stock, $<span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" id="Fact_aec3bedbee4640e88a2bbc1710c07589" contextRef="c20201231" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" id="Fact_5841e8c01523467f8346902ba9f69b23" contextRef="c20211231" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">0.01</ix:nonFraction></ix:nonFraction></span> par value, <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" id="Fact_562e2c5083ff43d7a847773ec901b00e" contextRef="c20201231" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" id="Fact_bf7ab2975eb1449897f61d5d314fac18" contextRef="c20211231" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">20,000,000</ix:nonFraction></ix:nonFraction></span> authorized at December 31, <span style="text-indent: 0pt;">2021</span> and <span style="text-indent: 0pt;">2020</span>; <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" id="Fact_329fced3f6e34910beb182ad37f7e71f" contextRef="c20211231" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">13,917,731</ix:nonFraction></span> and <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" id="Fact_e0918dfd4eb44ac4a63128173f3748cb" contextRef="c20201231" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">12,976,227</ix:nonFraction></span> shares
              issued; <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" id="Fact_e820ee83898144fab85157ded895ef57" contextRef="c20211231" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">9,872,889</ix:nonFraction></span> and <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" id="Fact_0299730f1c9341a38d88d2f834ccb66e" contextRef="c20201231" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">8,931,385</ix:nonFraction></span>
              shares outstanding, at December 31, <span style="text-indent: 0pt;">2021</span> and <span style="text-indent: 0pt;">2020</span>, respectively</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CommonStockValue" id="Fact_0b857345770243489da18b1237d2930f" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">139</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CommonStockValue" id="Fact_6d0c30cf11f8427996bcc953d81ec302" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">130</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Additional paid-in capital</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" id="Fact_4aa4bf8f26bb47a5b55babb809f22be1" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">55,246</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" id="Fact_f4d228c15f6b44a98b64f321a4ac272f" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">42,536</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Retained earnings</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" id="Fact_36152f25c2864ee5a2570c309f585a36" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">15,573</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" id="Fact_bcb8173eacb946abaf4fc3229c29a2a2" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">19,718</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accumulated other comprehensive income (loss), net of tax</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" id="Fact_27d0b76eb09246079217aa03cf5c6066" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">143</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" id="Fact_cd2d5004f6294ff1baba40ae0f364556" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">38</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Treasury stock, <span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:TreasuryStockShares" id="Fact_43b2d251cd8749e9aa313ee2802c8e5c" contextRef="c20201231" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal"><ix:nonFraction name="us-gaap:TreasuryStockShares" id="Fact_a0a0cb2cacca42678c06af9a9670c5a4" contextRef="c20211231" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">4,044,842</ix:nonFraction></ix:nonFraction></span> shares, at cost</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:TreasuryStockValue" id="Fact_f74db5c946dd4decb6899da23774252d" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">32,110</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:TreasuryStockValue" id="Fact_c8871a7fd06c4bae8580b3acdc3b27fa" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">32,110</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total shareholders&#8217; equity</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_93f88f915808430bb1bf2e8f7a00e1aa" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">38,991</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_0518b692b1bd4049a8a152a0d2ba51ea" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">30,236</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total liabilities and shareholders&#8217; equity</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" id="Fact_24495cfce4b14138af330bf96d07c724" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">50,941</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" id="Fact_893cbeea997d494e9e9048541bc38421" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">42,247</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">See accompanying notes to Consolidated Financial Statements.</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-4</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">TRANSACT TECHNOLOGIES INCORPORATED</div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">CONSOLIDATED STATEMENTS OF OPERATIONS</div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">(In thousands, except per share data)</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net sales</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_35e4184917f94cd7b154ba19afe3ac7f" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">39,386</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_bf526f7de43f4350a7424df5a0c1086d" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">30,595</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Cost of sales</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CostOfRevenue" id="Fact_654e9970f6144f748b2a04a706fce352" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">24,137</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CostOfRevenue" id="Fact_d182c079419a4fc5b31550cfb8997a8c" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">17,666</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gross profit</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_0461bef1b85c4c02b8ae3e5da9aca757" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">15,249</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_641cac8dc01841acb5d344c242227e30" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">12,929</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Operating expenses:</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Engineering, design and product development</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" id="Fact_b001b0a889c946a8a08b7a95325b80a8" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">7,475</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" id="Fact_b4a9a72d359e452691c62462dd0fdf5c" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">5,703</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Selling and marketing</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" id="Fact_a647540563f842779633859c3479dd39" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">7,658</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" id="Fact_219d50e98eaa4062afa6fee2708b7611" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">6,144</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">General and administrative</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" id="Fact_d2c6adbe189f45a181ab959a47b4cce0" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">9,626</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" id="Fact_aa79d9f30db94ff79d8a0c2dd50fffb5" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">9,255</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingExpenses" id="Fact_405178f352634dd685cca0b3e0f4079b" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">24,759</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingExpenses" id="Fact_35d0a588d761452b894a36f722ae481f" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">21,102</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Operating loss</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:OperatingIncomeLoss" id="Fact_a47b7e9ecfe44ecb96e3ac04fbabb65e" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">9,510</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:OperatingIncomeLoss" id="Fact_d4cc0f924ac546ff8cbc2d4af0bc4c86" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">8,173</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Interest and other income (expense):</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Interest expense</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:InterestExpense" id="Fact_2b1fa58f746c4ae686b8e5e5f07f69d0" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">157</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:InterestExpense" id="Fact_f95cfcf87a7a4749b2e8719e09475db7" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">130</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Interest income</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:InterestIncomeDomesticDeposits" id="Fact_067f98c9b1d5457abb04e15a77941e70" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">61</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:InterestIncomeDomesticDeposits" id="Fact_ea6a05df907144818bd8a63308be7ad5" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">78</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other, net</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" id="Fact_93f0b7647b21460f96bd3b7cf820056b" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">283</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" id="Fact_996394b430734e8a8f3855262a2b1db6" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">56</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gain from employee retention credit</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="tact:GainFromEmployeeRetentionCredit" id="Fact_e6abc40133a94620b1ac1cb20db0a7fa" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,500</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="tact:GainFromEmployeeRetentionCredit" id="Fact_9537a2ff420a4c0093f0facffa204cad" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="0" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gain on forgiveness of long-term debt</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:GainLossOnNonRecourseDebt" id="Fact_6d7a671cf6a7482b94db8c4134bbc6b3" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,173</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:GainLossOnNonRecourseDebt" id="Fact_cda57c2f4097429ba03366f4739ff177" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" id="Fact_055a55a038a5448abd0c0cb3fc626395" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">3,294</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" id="Fact_aa2682116c6b4fc2ab51bdda7550cb44" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">4</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Loss before income taxes</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" id="Fact_80eab53aefcf4ea885ac4b36127b5aa4" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">6,216</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" id="Fact_59591afaa71b40dd82b3412fe3e996db" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">8,169</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Income tax benefit</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_6d69099fd92d4a16b1319235f2d99c54" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">2,071</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_2c34f405c75d49f0b6dd191a7df7048c" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">2,539</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net loss</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_e457789168264fb982458c1c37ba1bd0" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">4,145</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_2b2be5d809ec40a3a7165a854694b178" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,630</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net loss per common share:</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Basic</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_e3e6c0c0209644018e5f06c41a0ff726" contextRef="c20210101to20211231" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.45</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_2a1c1c0fae98454789a17156fc8e33e8" contextRef="c20200101to20201231" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.72</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Diluted</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_443a0deb93984c35b09888beb1bcbddf" contextRef="c20210101to20211231" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.45</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_d201e75fa86b46d5965a662b8396b62d" contextRef="c20200101to20201231" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.72</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Shares used in per-share calculation:</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Basic</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_7718d94863bc40eb879e406e66e1099a" contextRef="c20210101to20211231" unitRef="U002" decimals="-3" scale="3" format="ixt:numdotdecimal">9,298</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_45fbb16dbaa348dbb2324826512b33a9" contextRef="c20200101to20201231" unitRef="U002" decimals="-3" scale="3" format="ixt:numdotdecimal">7,827</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Diluted</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_d8cdb8cf53b64d25972abf745d00f20d" contextRef="c20210101to20211231" unitRef="U002" decimals="-3" scale="3" format="ixt:numdotdecimal">9,298</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_8f4c8da32bde42bcbf59c5124899269f" contextRef="c20200101to20201231" unitRef="U002" decimals="-3" scale="3" format="ixt:numdotdecimal">7,827</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
  <div style="line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">See accompanying notes to Consolidated Financial Statements.</div>

  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-5</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">TRANSACT TECHNOLOGIES INCORPORATED</div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS</div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">(In thousands)</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net loss</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_f5ebad797ca9488d9d4aad72dc748d97" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">4,145</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_2207a2968e1a44478d7b1cac8ce33c94" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,630</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Foreign currency translation adjustment, net of tax</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_d13b2e2eb188405784aa9908893eacae" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">181</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_21b7bccbc88b49fda888dba84fe936a7" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">7</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Comprehensive loss</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" id="Fact_28028b711a6444e7ad0d924a761590fb" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">3,964</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" id="Fact_9a0a13813e4445de9f22b0464b7228c3" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,637</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>


</table>
  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">See accompanying notes to Consolidated Financial Statements.</div>

  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-6</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">TRANSACT TECHNOLOGIES INCORPORATED</div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS&#8217; EQUITY</div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">(In thousands, except share data)</div>

  <div style="line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Common Stock</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Additional</div>
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Paid-in</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Retained</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Treasury</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accumulated</div>
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other</div>
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Comprehensive</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> Shares</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amount</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Capital</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Earnings</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Stock</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Income (Loss)</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Equity</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, January 1, <span style="text-indent: 0pt;">2020</span></div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" id="Fact_ec13b7d0a06140f8a8df7fe41076192b" contextRef="c20191231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">7,470,248</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_de62837f420a4cd5aa59a1f6e5d4e5a0" contextRef="c20191231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">115</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_d0ac18882aad471880a6071daecb95f6" contextRef="c20191231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">32,604</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_b887b993ab654fc1877d9e3285cf187c" contextRef="c20191231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">25,348</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_c6bd4e4afc424a2d8420c06a60f47ae0" contextRef="c20191231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">32,110</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_ac36fcd748b149c7acbbc9368da43ff3" contextRef="c20191231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">31</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_15730b40ff0246b78d8922bf1160e648" contextRef="c20191231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">25,926</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Issuance of common stock from exercise of stock options</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" id="Fact_f7951d06d6554ab2ac3de0649965c94d" contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">62,500</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" id="Fact_7c11255936394d1790d1110b350d4e69" contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" id="Fact_ba00ad813b31432a91b621a6d7bccd9c" contextRef="c20200101to20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">374</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" id="Fact_36fa4b0d0c2943c4a9d59c172a5ea27f" contextRef="c20200101to20201231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" id="Fact_7798b2fc4db14ad89d86645d27774816" contextRef="c20200101to20201231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" id="Fact_5a9997a96ce7456e87d72192b3864121" contextRef="c20200101to20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" id="Fact_00bc2d449c0d42698d465fcd012de2e4" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">375</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Issuance of common&#160; stock on restricted stock units</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" id="Fact_bde1a24fdcdf4f43bdd5fec00f9026b5" contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">32,725</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_ba358e1edaec4e5bb07f28e6bd92936e" contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_b429018f6dce4b3c8b5aa4c689517d37" contextRef="c20200101to20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_cd4e2f7effd7473bb06997a9f730a832" contextRef="c20200101to20201231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_5fe1d5593417455bbf9d5ec5db3f1436" contextRef="c20200101to20201231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_7b1d2bc7dd3c40aa8d5863ba270ebead" contextRef="c20200101to20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_4eb3b776b1ee4a92bfd536a4b4f929f9" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Issuance of common stock, net of issuance cost</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" id="Fact_12a620fd52784274acd8e3cdbca4736f" contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">1,380,000</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" id="Fact_957cb81078934bc2bcf023db458d2647" contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">14</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" id="Fact_5551bf874e4b4be8962f4fab2a46fe25" contextRef="c20200101to20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">8,723</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" id="Fact_a56b8abe0f394228a3fffe041c8f84bb" contextRef="c20200101to20201231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" id="Fact_849662b370ae4d3db2a92070bfab5419" contextRef="c20200101to20201231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" id="Fact_8643107028ce4c7b87cc7ce0253a9090" contextRef="c20200101to20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" id="Fact_33dc9ca0800c40e3a130145e2ea0b309" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">8,737</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Relinquishment of stock awards and deferred stock units to pay withholding taxes</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" id="Fact_11304ffcac68456981d4bdef1e4a3c2c" contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">14,088</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" id="Fact_b2a7aa74259040249ea619f91ea2faa1" contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" id="Fact_9fd8adf31ec44f2a8b8e41c9127e472c" contextRef="c20200101to20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">41</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" id="Fact_286ccfe8aec145669884ccd6be1d3fd4" contextRef="c20200101to20201231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" id="Fact_1689b9c7597a403db83edac0cb341f89" contextRef="c20200101to20201231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" id="Fact_dcde440390184888bbcabd083eb7465a" contextRef="c20200101to20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" id="Fact_3ba06fdb429541d99f9df068135d1794" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">41</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Share-based compensation expense</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_e45d608f93894eb2a55f0d5975deee39" contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_7662728d927c41e385bb4f5f7e16a2ed" contextRef="c20200101to20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">876</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_57e6f2b7019c4a25a47093ea01658a84" contextRef="c20200101to20201231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_717e9cc192c642a18f214cd994644da4" contextRef="c20200101to20201231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_14223890f7984ce896a48c5d1281a971" contextRef="c20200101to20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_0979aa66adca4bc1ab406b849e9bf5ad" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">876</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Foreign currency translation adjustment, net of tax</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_f5acc481762845989420bfed70060550" contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_765d086023b84b37899570ce12167caa" contextRef="c20200101to20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_ffbd3205ffdf4bf78a741a57ea4984a4" contextRef="c20200101to20201231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_3ea27a2ce72b478ab9d67c963bd22776" contextRef="c20200101to20201231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_36d0ca0e5ed14782b0b3847eaa2ef7dd" contextRef="c20200101to20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">7</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_1910e6379e244f19a8cf8e6d3a57fae8" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">7</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net loss</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_53385f43ec19431f85b5ad8efd0aff41" contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_60ce58b9af0142c1b3e61b194370944d" contextRef="c20200101to20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_6afa2e86fb1246f380ba914bc25a2088" contextRef="c20200101to20201231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,630</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_b68d9f5d4c624027ab9c816f072adc94" contextRef="c20200101to20201231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_323b1a7876dc41f5a8e9b22b7116182a" contextRef="c20200101to20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_e759fe1d1421422ba52aeb37e09114ff" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,630</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, December 31, <span style="text-indent: 0pt;">2020</span></div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" id="Fact_ecd0426e5fa44869b0676f3e87f99d8a" contextRef="c20201231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">8,931,385</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_16634b60d45a429889a7650eb49d7c73" contextRef="c20201231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">130</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_480e5eeaf49444deab4a382429aa7ef5" contextRef="c20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">42,536</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_9cf26f56eac540548a8e7eba2afa2cf5" contextRef="c20201231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">19,718</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_07175478f4c14b8cbda589f0cb9e8a53" contextRef="c20201231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">32,110</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_1bfec91091d442dfbf99920d2fbff08b" contextRef="c20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">38</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_daadc181d7ea4beaa943e6b1c424e701" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">30,236</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Issuance of common stock from exercise of stock options</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" id="Fact_dfc34ad3a98e42468999eaf1f51125fc" contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">97,000</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" id="Fact_4a6dff39f57d4c8d9c3d5a93762264d7" contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" id="Fact_4222c2183b1f47609236144b6463be95" contextRef="c20210101to20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">436</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" id="Fact_98bab54933bd4b8ea13eb5ff122df1b2" contextRef="c20210101to20211231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" id="Fact_a10495d46449416fbef6e90909b4c36d" contextRef="c20210101to20211231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" id="Fact_d9712c2d5fff4fbbb94a4e917f7cae71" contextRef="c20210101to20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" id="Fact_aff38c56d73e4402ad7bb722e788e647" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">436</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Issuance of common&#160; stock on restricted stock units</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" id="Fact_c655686e313c4ee994276908fc7ddd9f" contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">50,525</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_2ae8080dca9b46aba09762da1239d875" contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_738a69a9c8584a46be01ac66f4936af9" contextRef="c20210101to20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_fa370f5a2b874baf9828153447afd81e" contextRef="c20210101to20211231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_fd6ebf1bd614439ab29bc62a2093494d" contextRef="c20210101to20211231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_193eb6a28e974805a74af53430081706" contextRef="c20210101to20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_519091b39ed1465ead2001fb463e5986" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Issuance of common stock, net of issuance cost</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" id="Fact_ed509b25a13f495da7e3610b4c1ad717" contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">842,375</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" id="Fact_8fc550ebb3114b4386595141d71eb064" contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">9</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" id="Fact_a1594ec7a8f1454887ccb38a1fdcb3b8" contextRef="c20210101to20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">11,201</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" id="Fact_1aeb6178667f4b98bbd9aa02d7cbe731" contextRef="c20210101to20211231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" id="Fact_3bdaaf6e55154c87a264c00b3889baca" contextRef="c20210101to20211231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" id="Fact_deb3f85f6bf84f4b9c5cd01815b64bdd" contextRef="c20210101to20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" id="Fact_1b4b9e2014a0447d9a21deedc7fcce07" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">11,210</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Relinquishment of stock awards and deferred stock units to pay withholding taxes</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" id="Fact_8c5df7a018a74998932911bd4004c4dd" contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">48,396</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" id="Fact_083ead3f275c4d0ca0b9f5bd3d93f14a" contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" id="Fact_5761852997984bdd8cf30ea0e1d8a606" contextRef="c20210101to20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">133</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" id="Fact_6462c8ca02434764bcd88eb00ff8a8ba" contextRef="c20210101to20211231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" id="Fact_f3f4014f2e6343b991f3cf620a7a144d" contextRef="c20210101to20211231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" id="Fact_3fc064fbe6264acc9b0b9d80496d7db2" contextRef="c20210101to20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" id="Fact_eb6a7eec2cf84aefba67720e93dfe071" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">133</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Share-based compensation expense</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_f078b5a58ba64c27937509dc745ba715" contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_e9115147e286466a950a4850514813e4" contextRef="c20210101to20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,206</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_f877810ea8d04030b61a644e18b36e9c" contextRef="c20210101to20211231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_2440578cae0f46d6b995d02eda2aba68" contextRef="c20210101to20211231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_d44e5c8357314344bedd017d93260133" contextRef="c20210101to20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_0654707e0cdb4597b9d2b9558777c490" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,206</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Foreign currency translation adjustment, net of tax</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_ffcf779217f04473ba4b370332600a6a" contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_49c5463e66344ca2ad8c7aca5f59ae23" contextRef="c20210101to20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_f29ba7ac8770430eaeef7f017d498692" contextRef="c20210101to20211231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_47bbcf8706714bf29630558fad88d352" contextRef="c20210101to20211231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_2b280ac9c37d403b906057769afbc8f4" contextRef="c20210101to20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">181</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_ae449a7f3e524605ac573624c901f5bd" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">181</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net loss</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_1f6023f63a3248a691bacd097a0ebe6c" contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_d3fc706206a64aafb6c4d240c615c7eb" contextRef="c20210101to20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_339b0d5ede9c4085bc4fd1e5f8fc18da" contextRef="c20210101to20211231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">4,145</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_566507c5615d4ae09dfa3068386c2473" contextRef="c20210101to20211231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_20c30e1ff43f4772b3191bed42515684" contextRef="c20210101to20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_0cfe6d1a0f3543019cd4c882872ff9fa" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">4,145</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 16%; padding-bottom: 4px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, December 31, <span style="text-indent: 0pt;">2021</span></div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" id="Fact_2e9a375cc75b455db056e13e2b0091d7" contextRef="c20211231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">9,872,889</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_fed86ef9f87e4ce3abaf47766ecb4589" contextRef="c20211231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">139</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_a410f4a29067434e9a3881e37898ae12" contextRef="c20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">55,246</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_ebf0ae8a767f49299349ffe281bbddb2" contextRef="c20211231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">15,573</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_e4e57e4bb4c5491ba2c212dfd83d338d" contextRef="c20211231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">32,110</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_eec7a50f27e84fa496c502f9aad07dd4" contextRef="c20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">143</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_296b45cf70914c10a655602d7b14ed0e" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">38,991</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
  <div style="text-align: center; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">See accompanying notes to Consolidated Financial Statements.</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-7</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">TRANSACT TECHNOLOGIES INCORPORATED</div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">CONSOLIDATED STATEMENTS OF CASH FLOWS</div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">(In thousands)</div>

  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
          <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Cash flows from operating activities:</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net loss</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_ceba85f2f57644d18317e1ae7c3573cf" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">4,145</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_639cc490056d4fe4953a99758c6ee7fd" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,630</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Adjustments to reconcile net loss to net cash used in operating activities:</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Share-based compensation expense</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" id="Fact_35ea5bb483ef46a68646835b4c967b7f" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,206</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" id="Fact_e68c2570db4f437fb3084a861fe573b6" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">876</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Depreciation and amortization</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" id="Fact_008592a550f8459fa4e511bc1f1dfe91" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">957</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" id="Fact_1113fc73615b40fea5e1609fd12b43b3" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,342</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred income tax benefit</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" id="Fact_1a2a2f028b704e899a535d651fa1372c" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">2,150</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" id="Fact_a171648fc2a540bd96eb67b8d1ebe922" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">367</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Loss on the sale of fixed assets</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:GainLossOnSaleOfProperty" id="Fact_4fed4f15c099461c828e80058d5bc458" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">9</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:GainLossOnSaleOfProperty" id="Fact_0e48d22b297a496197c35ffdeffb3808" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Foreign currency transaction losses (gains)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" id="Fact_f1b98056cbc546a4be801242430bc40f" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">272</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" id="Fact_ccd9f48f901147b4b7ed2a2669e6a5e5" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">58</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gain on forgiveness of long-term debt</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:GainLossOnNonRecourseDebt" id="Fact_dc082257c74647e38c451e1c911589c5" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,173</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:GainLossOnNonRecourseDebt" id="Fact_771ee614a7a1491ab9c9afff14601b5a" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Changes in operating assets and liabilities:</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accounts receivable</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInReceivables" id="Fact_e2813f6107744104b4491ae61f44d356" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">4,217</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInReceivables" id="Fact_15c85fdb773f4852a99e2e133dff87a9" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">2,975</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Employee retention credit receivable</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="tact:IncreaseDecreaseInEmployeeRetentionCreditReceivable" id="Fact_81817e191e2b4cdf839d968b5bb58cae" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,500</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="tact:IncreaseDecreaseInEmployeeRetentionCreditReceivable" id="Fact_ee450c5fcd414b91b4cf28dc2b189e0f" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="0" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inventories</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" id="Fact_2ebf13329fcf45688768709919844bb0" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">3,573</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" id="Fact_d352ec321eb24303838c17ec5092e47b" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">876</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Prepaid income taxes</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidTaxes" id="Fact_2106137153854e97bb0df24187f89ea4" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">2,210</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidTaxes" id="Fact_09ca8fe7480541178225440dce7706d2" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,226</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other current and long-term assets</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" id="Fact_48fd2a69ea044c3094be8d6a7be32c6b" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">322</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" id="Fact_6558819fb97340cf8a2a1c57a5c203e4" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">198</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accounts payable</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" id="Fact_007595949b08412080bbb19bb55e8a08" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,534</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" id="Fact_da7244b186364c2b841e2d43bb6e9d30" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,276</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accrued liabilities and other liabilities</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" id="Fact_054224914ac04f3a95b6ece011e81b3d" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">592</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" id="Fact_c25c2bd079d143d2b9cbecbe916d741c" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">176</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net cash used in operating activities</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" id="Fact_8f52445b790745bdb9b46ad1155da7da" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">2,510</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" id="Fact_b434f83b0b004510913cb328ca21ef43" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">3,510</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Cash flows from investing activities:</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Capital expenditures</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" id="Fact_80f0ef048d3f42699a98f50970b19d90" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,384</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" id="Fact_b98f649dc8d04621b5bd8d772b39117d" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">744</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Proceeds from the sale of fixed assets</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" id="Fact_73978dc5ddc94bcd835e7df9721c7b41" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">8</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" id="Fact_24bd260a459d48d7a2969a753cc1b74c" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;&#160;&#160;&#160;Collection (issuance) of note receivable</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="tact:PaymentsForProceedsFromNotesReceivable" id="Fact_85d0f9a9066b484d962e445008f9cc9e" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,598</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="tact:PaymentsForProceedsFromNotesReceivable" id="Fact_83eabc391ea14afabf9df1460ec7a5c3" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">600</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net cash provided by (used in) investing activities</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" id="Fact_09539b8b35f24da7a009753ac440f5cc" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">222</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" id="Fact_21703cbce02e4270a298ae730cd07175" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,344</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Cash flows from financing activities:</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Revolving credit line borrowings</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ProceedsFromLinesOfCredit" id="Fact_ee65e2577be24ce59d50ab44ecd288fb" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ProceedsFromLinesOfCredit" id="Fact_90965fe1e13e49c585856d298c274a55" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,756</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Revolving credit line payments</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RepaymentsOfLinesOfCredit" id="Fact_fa8ef5a736c94f8c9f940653df3340b7" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:RepaymentsOfLinesOfCredit" id="Fact_46fe8086331444b887b00e1bfc667845" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,756</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Long-term debt borrowings</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt" id="Fact_3012d43f30854492aac0d687495326ea" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt" id="Fact_55f7c21567674700a35dd43241000bba" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,173</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Proceeds from stock option exercises</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ProceedsFromStockOptionsExercised" id="Fact_21344f1d431441d092388e95047ec658" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">436</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ProceedsFromStockOptionsExercised" id="Fact_22729fd7bac84b99aee72596b65a2dae" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">375</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Proceeds from the issuance of common stock</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" id="Fact_86d1658532d04c8f970979da7f9bff3e" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">12,214</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" id="Fact_77d3220bd87f45ea8d8b7c19ea8fe0bf" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">9,798</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Payment of common stock issuance costs</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" id="Fact_76555fb8c277417a94337e00b53d8921" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,014</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:PaymentsOfStockIssuanceCosts" id="Fact_817007efa51141a4a9baa6b848004bb5" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,061</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Withholding taxes paid on stock issuance</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" id="Fact_61adcb7413f8412988d1a2807eb68544" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">133</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" id="Fact_1f9159670b7d43bdadf6fb0581321933" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">41</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Payment of bank financing costs</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:PaymentsOfLoanCosts" id="Fact_eba35471c6a84211bfe71a21fadff4f9" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">31</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:PaymentsOfLoanCosts" id="Fact_e697369e668b467e9f5cb326ebfb50d2" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">213</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net cash provided by financing activities</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" id="Fact_0ba7a43d77764ea48c1496ec91bf013a" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">11,472</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" id="Fact_36e2cbf5b59a45cb8d3f81af925a987e" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">11,031</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Effect of exchange rate changes on cash and cash equivalents</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_57ec8182f44c435e85ef169adf390a4d" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">86</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_ace501a1b098466ab17f9d21b694c350" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">21</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Increase in cash and cash equivalents</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" id="Fact_864711d962a646c6943783bf89907460" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">9,098</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" id="Fact_df7f426545aa45218ed08b386433b35f" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">6,156</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Cash and cash equivalents, beginning of period</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_bdcfa5506a35453d832a5c1def28007d" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">10,359</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_e1dbb260557a4782ab04cc6514791d92" contextRef="c20191231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">4,203</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Cash and cash equivalents, end of period</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_4ceb84b4729a4b2abe46a7771bc46e6a" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">19,457</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_5d4cb3a60b2941f9b0e0fbd8ae3f1573" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">10,359</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Supplemental cash flow information:</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Interest paid</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:InterestPaidNet" id="Fact_9c20382559664f4b91545255b2fe3df7" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">76</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:InterestPaidNet" id="Fact_d5d6175a964042cc8c10e3df324ad686" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">64</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Income taxes paid</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncomeTaxesPaid" id="Fact_57de2c03096e4617bdd147d0b0d489a7" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">57</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncomeTaxesPaid" id="Fact_48ab0d8d08574b368a9a945d787856e2" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">46</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Non-cash capital expenditure items</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" id="Fact_00128abb69e34c32b9f4234def160872" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">82</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" id="Fact_763d100525414ed2bc68b6a12b7ea93a" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">25</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">See accompanying notes to Consolidated Financial Statements.</div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-8</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">TRANSACT TECHNOLOGIES INCORPORATED</div>

  <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</div>

  <div style="line-height: 10.25pt;"><br />
  </div>
<div><ix:nonNumeric name="us-gaap:NatureOfOperations" id="Text_e73c7be2a9db4e1d84cb9e6ea16c2906" contextRef="c20210101to20211231" escape="true" continuedAt="Text_61d37350217748e09890b9d538f7b8961">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">1. Description of business</div>
</ix:nonNumeric>

  <ix:continuation id="Text_61d37350217748e09890b9d538f7b8961" continuedAt="Text_61d37350217748e09890b9d538f7b8962">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b8962" continuedAt="Text_61d37350217748e09890b9d538f7b8963">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct Technologies Incorporated (together with its subsidiaries, &#8220;TransAct,&#8221; the &#8220;Company,&#8221; &#8220;we,&#8221; &#8220;us,&#8221; or &#8220;our&#8221;), which has its
    headquarters in Hamden, Connecticut and its primary operating facility in Ithaca, New York, operates in <ix:nonFraction name="us-gaap:NumberOfOperatingSegments" id="Fact_657092ad33464a9480ae98b813318733" contextRef="c20210101to20211231" unitRef="U004" decimals="INF" scale="0" format="ixt-sec:numwordsen">one</ix:nonFraction> operating segment: software-driven
    technology and printing solutions for high growth markets including food service technology, casino and gaming and POS automation markets.&#160; Our solutions are designed from the ground up based on market and customer requirements and are sold under the
    BOHA!<sup>TM</sup>, AccuDate&#8482;, Epic, Ithaca&#174;, EPICENTRAL and Printrex&#174; product brands.&#160; We sell our products to original equipment manufacturers, value-added resellers, select distributors, and directly to end-users.&#160; Our product distribution spans
    across the Americas, Europe, the Middle East, Africa, Asia, Australia, New Zealand, the Caribbean Islands and the South Pacific. TransAct also provides world-class service, spare parts, accessories and printing supplies to its growing worldwide
    installed base of products.&#160; We also generate revenue from the after-market side of the business, providing printer and terminal service, consumables and spare parts in addition to revenue from our <ix:nonFraction name="tact:NumberOfSoftwareSolutions" id="Fact_304467109d7347d8a22d0ae3ebffef66" contextRef="c20211231" unitRef="U005" decimals="INF" scale="0" format="ixt-sec:numwordsen">two</ix:nonFraction> software solutions; (i) our line of BOHA! software applications used to automate the back-of-house operations of restaurants, convenience stores and food service operators and (ii) the
    EPICENTRAL Print System (&#8220;EPICENTRAL&#8221;), that enables casino operators to create promotional coupons and marketing messages and print them in real time at the slot machine.</div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b8963" continuedAt="Text_61d37350217748e09890b9d538f7b8964">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b8964" continuedAt="Text_61d37350217748e09890b9d538f7b8965">
<div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Impact of the COVID-19 Pandemic</div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b8965" continuedAt="Text_61d37350217748e09890b9d538f7b8966">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In the first quarter of 2020, the COVID-19 pandemic and the resulting social distancing measures, including closures and restricted
    openings of restaurants and casinos implemented by federal, state and local authorities, negatively impacted customer demand and disrupted portions of our supply chain, including delayed product shipments from our <ix:nonFraction name="tact:NumberOfManufacturers" id="Fact_fd2b4cc99d1b490d9c8369846fb0a10e" contextRef="c20211231" unitRef="U006" decimals="INF" scale="0" format="ixt-sec:numwordsen">two</ix:nonFraction> manufacturers located in Thailand and China.&#160; While we began to experience a modest recovery starting in the second half of 2020 into 2021 and expect this recovery to continue
    during 2022, the exact timing and pace of recovery are unknown given uncertainty surrounding responsive measures to the spread of virus variants or any potential future resurgences of the virus and the significant disruption that our customers have
    already experienced and may continue to experience.&#160; In light of this uncertainty, we implemented a number of cost saving measures during 2020 to help mitigate the impact on our financial position and operations and continued to limit discretionary
    spending during 2021.&#160; We are monitoring indicators of demand recovery, including our sales pipeline, customer orders and product shipments to ascertain an estimate of the ultimate impact of the COVID-19 pandemic on our business; however, the length
    and ultimate severity of the reduction in demand due to the pandemic remains uncertain.</div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b8966" continuedAt="Text_61d37350217748e09890b9d538f7b8967">
<div style="line-height: 11.4pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b8967" continuedAt="Text_61d37350217748e09890b9d538f7b8968">
<div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Balance Sheet, Cash Flow and Liquidity.
    </span>In addition to the expense management actions implemented during 2020, we took the following actions to increase liquidity and strengthen our financial position.</div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b8968" continuedAt="Text_61d37350217748e09890b9d538f7b8969">
<div style="line-height: 11.4pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b8969" continuedAt="Text_61d37350217748e09890b9d538f7b89610">
<table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Public Offering &#8211; On October 16, 2020 and August 16, 2021, the Company raised net proceeds of
              $</span><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" id="Fact_4c872818bc0344d8b41216fe5815b205" contextRef="c20201016to20201016" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">8.7</ix:nonFraction><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> million and $</span><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" id="Fact_b18eae0e4fc34adcb464fb979c64fc5b" contextRef="c20210816to20210816" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">11.2</ix:nonFraction><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> million (</span>including the exercise of the underwriters
            overallotment options on October 16, 2020 and August 20, 2021)<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">, respectively, after deducting underwriting discounts, commissions and offering expenses, through
              underwritten public offerings and sold an aggregate of </span><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" id="Fact_14763882aac34f2ab7d009d7fdcfaf2d" contextRef="c20201016to20201016" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">1,380,000</ix:nonFraction><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> and </span><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" id="Fact_d49348d3935243d0a96f5e9152cd70b4" contextRef="c20210816to20210816" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">842,375</ix:nonFraction><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> shares of common
              stock, respectively.</span></div>
        </td>

  </tr>


</table>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89610" continuedAt="Text_61d37350217748e09890b9d538f7b89611">
<div style="line-height: 11.4pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89611" continuedAt="Text_61d37350217748e09890b9d538f7b89612">
<table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">PPP Loan &#8211; On May 1, 2020, the Company was granted a $</span><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" id="Fact_ff0f257168b845a992a28dd3b6245ced" contextRef="c20200501_DebtInstrumentAxis_PaycheckProtectionProgramLoanMember" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">2.2</ix:nonFraction><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> million loan (the &#8220;PPP Loan&#8221;) under the Paycheck Protection Program
              (the &#8220;PPP&#8221;) administered by the Small Business Administration (&#8220;SBA&#8221;) established under Division A, Title I of the Coronavirus Aid, Relief, and Economic Security (&#8220;CARES&#8221;) Act, which enabled us to return employees we furloughed earlier in
              2020 to full time employment and to restore </span>employees to full pay following certain pay cuts<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">.&#160; </span>On July 8, 2021, we received notice that the PPP Loan
            had been forgiven as of July 1, 2021.&#160; See Note 9 for further details regarding the PPP Loan.</div>
        </td>

  </tr>


</table>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89612" continuedAt="Text_61d37350217748e09890b9d538f7b89613">
<div style="line-height: 11.4pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89613" continuedAt="Text_61d37350217748e09890b9d538f7b89614">
<table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Employee Retention Credit &#8211; </span>Under the provisions of the CARES Act, the Company is
            eligible for a refundable employee retention credit subject to certain criteria.&#160;&#160;In connection with the CARES Act, the Company recognized the employee retention credit during the fourth quarter of 2021 and recorded $<ix:nonFraction name="tact:GainFromEmployeeRetentionCredit" id="Fact_903e406eb1d743e8ac89e2d2f819f770" contextRef="c20210101to20211231" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">1.5</ix:nonFraction> million as &#8220;Gain from employee retention credit&#8221; in the Consolidated Statement of Operations for the year ended December 31, 2021 and the
            related receivable as &#8220;Employee retention credit receivable&#8221; in the Consolidated Balance Sheets as of December 31, 2021.&#160; We expect to receive these funds during 2022.</div>
        </td>

  </tr>


</table>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89614" continuedAt="Text_61d37350217748e09890b9d538f7b89615">
<div style="line-height: 11.4pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89615" continuedAt="Text_61d37350217748e09890b9d538f7b89616">
<table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">New Credit Facility &#8211; On March 13, 2020, we entered into a new credit facility with Siena
              Lending Group LLC that provides a revolving credit line of up to $</span><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" id="Fact_eba0349e625d42388acf7121b5ad4e6e" contextRef="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">10.0</ix:nonFraction><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> million, subject to a borrowing base.</span></div>
        </td>

  </tr>


</table>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89616" continuedAt="Text_61d37350217748e09890b9d538f7b89617">
<div style="line-height: 11.4pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89617" continuedAt="Text_61d37350217748e09890b9d538f7b89618">
<table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"></td>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Reduced Capital Expenditures &#8211; We limited capital expenditures during 2020 and gradually increased expenses during 2021 as our sales improved.</div>
        </td>

  </tr>


</table>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89618" continuedAt="Text_61d37350217748e09890b9d538f7b89619">
<div style="line-height: 11.4pt;"><br />
  </div>
</ix:continuation></div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-9</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>
<div><ix:continuation id="Text_61d37350217748e09890b9d538f7b89619" continuedAt="Text_61d37350217748e09890b9d538f7b89620">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We may further modify or supplement the expense management measures we have implemented and the actions we have taken to increase
    liquidity as the timing and extent of customer demand recovery develops and supply chains normalize.</div>
</ix:continuation>

  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89620" continuedAt="Text_61d37350217748e09890b9d538f7b89621">
<div style="line-height: 11.4pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89621" continuedAt="Text_61d37350217748e09890b9d538f7b89622">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">After reviewing whether conditions and/or events raise substantial doubt about our ability to meet future financial obligations over
    the 12 months following the date on which the Consolidated Financial Statements included in this Form 10-K (this &#8220;Report&#8221;) were issued, including consideration of the actions taken to manage expenses and liquidity, we believe that our net cash to be
    provided by operations combined with our cash and cash equivalents and borrowing availability under our revolving credit facility will provide sufficient liquidity to fund our current obligations, capital spending, and working capital requirements and
    to comply with the financial covenants of our credit facility over at least 12 months following the date that the Consolidated Financial Statements were issued.</div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89622" continuedAt="Text_61d37350217748e09890b9d538f7b89623">
<div style="line-height: 11.4pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89623" continuedAt="Text_61d37350217748e09890b9d538f7b89624">
<div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Use of Assumptions and Estimates</div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89624" continuedAt="Text_61d37350217748e09890b9d538f7b89625">
<div style="line-height: 11.4pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89625" continuedAt="Text_61d37350217748e09890b9d538f7b89626">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Management&#8217;s belief that the Company will be able to fund its planned operations over the 12 months following the date on which the
    Consolidated Financial Statements were issued is based on assumptions which involve significant judgment and estimates of future revenues, capital expenditures and other operating costs. Our current assumptions are that casinos and restaurants remain
    open and consumer traffic continues to gradually increase during 2022, but that many casinos and restaurants may delay purchases of new slot machines and our BOHA! products, respectively, due to labor shortages and supply issues caused by the
    pandemic.&#160; Based on these assumptions, we anticipate that sales in casino and gaming and food service technology may continue to be negatively impacted for the foreseeable future.&#160; We have performed a sensitivity analysis on these assumptions to
    forecast the potential impact of a slower-than-anticipated recovery and believe that we are positioned to withstand the impact of lower-than-anticipated sales and that we will be able to take additional financial and operational actions to cut costs
    and/or increase liquidity if necessary. These actions may include additional expense reductions and capital raising activities.</div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89626" continuedAt="Text_61d37350217748e09890b9d538f7b89627">
<div style="line-height: 11.4pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89627" continuedAt="Text_61d37350217748e09890b9d538f7b89628">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In addition, the presentation of the accompanying audited Consolidated Financial Statements requires us to make estimates and judgments
    that affect the reported amounts of assets, liabilities, revenue and expenses, and the disclosure of contingent assets and liabilities.&#160; Our estimates include those related to revenue recognition, inventory obsolescence, the valuation of deferred tax
    assets and liabilities, depreciable lives of equipment, warranty obligations, and contingent liabilities.&#160; We base our estimates on historical experience and on various other assumptions that we believe to be reasonable under the circumstances.&#160; Actual
    results could differ from those estimates used.</div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89628" continuedAt="Text_61d37350217748e09890b9d538f7b89629">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89629" continuedAt="Text_61d37350217748e09890b9d538f7b89630">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Smaller Reporting Company</div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89630" continuedAt="Text_61d37350217748e09890b9d538f7b89631">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89631" continuedAt="Text_61d37350217748e09890b9d538f7b89632">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">As a smaller reporting company, as defined in Item 10(f)(1) of Regulation S-K, we may choose to prepare our disclosures relying on
    certain scaled disclosure requirements for smaller reporting companies in Regulation S-K and in Article 8 of Regulation S-X.</div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89632" continuedAt="Text_61d37350217748e09890b9d538f7b89633">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89633" continuedAt="Text_61d37350217748e09890b9d538f7b89634">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The scaled disclosure requirements for smaller reporting companies permit us (i) to include less extensive narrative disclosure than
    required of other reporting companies, particularly in the description of executive compensation and (ii) to provide audited financial statements for two fiscal years, in contrast to other reporting companies, which must provide audited financial
    statements for three years.</div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89634" continuedAt="Text_61d37350217748e09890b9d538f7b89635">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_61d37350217748e09890b9d538f7b89635">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We may lose our status as a smaller reporting company on the last day of the fiscal year in which (i) our public float exceeds $250
    million as of the last day of the second fiscal quarter or (ii) if we have more than $100 million in annual revenues and (a) have no public float or (b) have a public float more than $700 million.</div>
</ix:continuation></div>

  <div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br />
  </div>
<div><ix:nonNumeric name="us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" id="Text_edf892add4d247548bdc5d9acfee7ecc" contextRef="c20210101to20211231" escape="true" continuedAt="Text_ff6bd44d82504447a15cb14d093317c01">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">2. Summary of significant accounting policies</div>
</ix:nonNumeric>

  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c01" continuedAt="Text_ff6bd44d82504447a15cb14d093317c02">
<div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c02" continuedAt="Text_ff6bd44d82504447a15cb14d093317c03"><ix:nonNumeric name="us-gaap:ConsolidationPolicyTextBlock" id="Text_a05ed4af955d48f9a8e48d290aa3a0e8" contextRef="c20210101to20211231" escape="true">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Principles of
      consolidation: </span>The accompanying Consolidated Financial Statements include the accounts of TransAct and its wholly-owned subsidiaries, which require consolidation, after the elimination of intercompany accounts, transactions and unrealized
    profit. </div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c03" continuedAt="Text_ff6bd44d82504447a15cb14d093317c04">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c04" continuedAt="Text_ff6bd44d82504447a15cb14d093317c05"><ix:nonNumeric name="us-gaap:UseOfEstimates" id="Text_b1b972a8872d4c509b46c4009efc9793" contextRef="c20210101to20211231" escape="true">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Use of estimates</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">:</span> The preparation of Consolidated Financial Statements in conformity with accounting principles generally accepted in the United States of America
    (&#8220;GAAP&#8221;) requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities, revenue and expenses, and disclosure of contingent assets and liabilities as of the date of the Consolidated Financial Statements
    and the reported amounts of sales and expenses during the reporting period. Actual results could differ from those estimates.</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c05" continuedAt="Text_ff6bd44d82504447a15cb14d093317c06">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c06" continuedAt="Text_ff6bd44d82504447a15cb14d093317c07"><ix:nonNumeric name="us-gaap:SegmentReportingPolicyPolicyTextBlock" id="Text_04764b470eaa42c684770ef0114aa186" contextRef="c20210101to20211231" escape="true">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Segment reporting</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">: </span>We apply the provisions of the Financial Accounting Standards Board (&#8220;FASB&#8221;) Accounting Standards Codification (&#8220;ASC&#8221;) 280, &#8220;Segment Reporting.&#8221;&#160; We
    view our operations and manage our business as <ix:nonFraction name="us-gaap:NumberOfOperatingSegments" id="Fact_a646e39195854e3cb22aeb85d83e92c2" contextRef="c20210101to20211231" unitRef="U004" decimals="INF" scale="0" format="ixt-sec:numwordsen">one</ix:nonFraction> segment: the design, development and marketing of software-driven technology and printing
    solutions and providing printer and terminal related software, services, supplies and spare parts.&#160; Factors used to identify TransAct&#8217;s single operating segment include the organizational structure of the Company and the financial information available
    for evaluation by the chief operating decision-maker in making decisions about how to allocate resources and assess performance.</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c07" continuedAt="Text_ff6bd44d82504447a15cb14d093317c08">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c08" continuedAt="Text_ff6bd44d82504447a15cb14d093317c09"><ix:nonNumeric name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" id="Text_0e53aba468e44a79aa7368b3cac37178" contextRef="c20210101to20211231" escape="true">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Cash and cash equivalents</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">:</span> We consider all highly liquid investments with a maturity date of three months or less at date of purchase to be cash equivalents.</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c09" continuedAt="Text_ff6bd44d82504447a15cb14d093317c010">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c010" continuedAt="Text_ff6bd44d82504447a15cb14d093317c011"><ix:nonNumeric name="us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" id="Text_d375ffa594664df48699e7bb444d3aa8" contextRef="c20210101to20211231" escape="true" continuedAt="Text_7cbf0335b77942b3823396021872435c1">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Allowance for
      doubtful accounts</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">:</span> We establish an allowance for doubtful accounts to ensure trade receivables are valued appropriately.&#160; We maintain an
    allowance for doubtful accounts based on a variety of factors, including the length of time receivables are past due, significant one-time events and historical experience.&#160; We record a specific allowance for individual accounts when we become aware of
    a customer&#8217;s inability to meet its financial obligations, such as in the case of bankruptcy filings or deterioration in the customer&#8217;s operating results or financial position.&#160; If circumstances related to customers change, we further adjust estimates
    of the recoverability of receivables.</div>
</ix:nonNumeric></ix:continuation></div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-10</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>
<div><ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c011" continuedAt="Text_ff6bd44d82504447a15cb14d093317c012"><ix:continuation id="Text_7cbf0335b77942b3823396021872435c1" continuedAt="Text_7cbf0335b77942b3823396021872435c2">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>

  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c012" continuedAt="Text_ff6bd44d82504447a15cb14d093317c013"><ix:continuation id="Text_7cbf0335b77942b3823396021872435c2" continuedAt="Text_7cbf0335b77942b3823396021872435c3"><ix:nonNumeric name="us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" id="Text_9d4323ec57024da98dadb1ad2d0eac8d" contextRef="c20210101to20211231" escape="true" continuedAt="Text_dd14a065f8be48f797180882046011991">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following table summarizes the activity recorded in the valuation account for accounts receivable:</div>
</ix:nonNumeric></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c013" continuedAt="Text_ff6bd44d82504447a15cb14d093317c014"><ix:continuation id="Text_7cbf0335b77942b3823396021872435c3" continuedAt="Text_7cbf0335b77942b3823396021872435c4"><ix:continuation id="Text_dd14a065f8be48f797180882046011991" continuedAt="Text_dd14a065f8be48f797180882046011992">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c014" continuedAt="Text_ff6bd44d82504447a15cb14d093317c015"><ix:continuation id="Text_7cbf0335b77942b3823396021872435c4"><ix:continuation id="Text_dd14a065f8be48f797180882046011992">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, beginning of period</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" id="Fact_54c7e0114c9f4e3c8e7f7fc5d359b84e" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">220</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" id="Fact_24550f41064f4699b2a6470eb28f87ca" contextRef="c20191231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">221</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Additions charged to costs and expenses</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" id="Fact_79850dfc035b452d92bd32d37f6a015f" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" id="Fact_fbdb6c138e164eeba791fde79cec7242" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deductions</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" id="Fact_ca60a0292ed24aac9eb3e69c0d11dffd" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" id="Fact_742a4a19d0fd4e06b6df6c974f738e87" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, end of period</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" id="Fact_d58463c1625f4ecda4dde637568c42e6" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">219</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" id="Fact_30cb65d6a5ed442d96492eeda380c219" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">220</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c015" continuedAt="Text_ff6bd44d82504447a15cb14d093317c016">
<div style="text-align: left; line-height: 13.7pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c016" continuedAt="Text_ff6bd44d82504447a15cb14d093317c017"><ix:nonNumeric name="us-gaap:InventoryPolicyTextBlock" id="Text_cbf9ab1a6272485593a81172e5594a9f" contextRef="c20210101to20211231" escape="true">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Inventories:</span> Inventories are
    stated at the lower of cost (principally standard cost, which approximates actual cost on a first-in, first-out basis) or net realizable value.&#160; We review net realizable value based on estimated selling prices in the ordinary course of business less
    estimated costs of completions, disposal and transportation, historical usage and estimates of future demand.&#160; Based on these reviews, inventory write-downs are recorded, as necessary, to reflect estimated obsolescence, excess quantities and net
    realizable value.</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c017" continuedAt="Text_ff6bd44d82504447a15cb14d093317c018">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c018" continuedAt="Text_ff6bd44d82504447a15cb14d093317c019"><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="Text_aa794ae16528441eb764ae2ec6921921" contextRef="c20210101to20211231" escape="true">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Fixed assets:</span> Fixed assets are
    stated at cost.&#160; Depreciation is recorded using the straight-line method over the estimated useful lives.&#160; The estimated useful life of tooling is <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_c55284f1f0b14297ba96b72f42df18f4" contextRef="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_ToolsDiesAndMoldsMember" format="ixt-sec:durwordsen">five years</ix:nonNumeric>;
    machinery and equipment is <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_67bce9e49b1b4d1a81deb051c338f6c6" contextRef="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember" format="ixt-sec:durwordsen">ten years</ix:nonNumeric>; furniture and office equipment is <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_bdeebf1f667341de9916364f3e13afda" contextRef="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MinimumMember" format="ixt-sec:durwordsen">five years</ix:nonNumeric> to <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_a3e2bf03876e48b08531ffe5083ce955" contextRef="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MaximumMember" format="ixt-sec:durwordsen">ten years</ix:nonNumeric>; and computer software and equipment is <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_c2156240a61b498494d63e3fb99a6dd9" contextRef="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MinimumMember" format="ixt-sec:durwordsen">three years</ix:nonNumeric> to <ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Fact_80115fe7917a4176a9d8ba88323953b8" contextRef="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MaximumMember" format="ixt-sec:durwordsen">seven years</ix:nonNumeric>.&#160; Leasehold
    improvements are amortized over the shorter of the term of the lease or the useful life of the asset.&#160; Costs related to repairs and maintenance are expensed as incurred.&#160; The costs of sold or retired assets are removed from the related asset and
    accumulated depreciation accounts and any gain or loss is recognized.&#160; Depreciation expense was $<ix:nonFraction name="us-gaap:Depreciation" id="Fact_508ee110d013442e8b1aacaba6884e97" contextRef="c20210101to20211231" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">0.7</ix:nonFraction> million and $<ix:nonFraction name="us-gaap:Depreciation" id="Fact_411d12ae6f564b61856a47ed68aa518f" contextRef="c20200101to20201231" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">1.0</ix:nonFraction> million in 2021 and 2020, respectively.</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c019" continuedAt="Text_ff6bd44d82504447a15cb14d093317c020">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c020" continuedAt="Text_ff6bd44d82504447a15cb14d093317c021"><ix:nonNumeric name="us-gaap:LesseeLeasesPolicyTextBlock" id="Text_3b66bdb6653c45f5890204e3efcb6f7b" contextRef="c20210101to20211231" escape="true" continuedAt="Text_73dfb5f6f5434bbcaf70c84fc0849f0e1">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Leases:</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> We account for leases in accordance with ASC 842, &#8220;Leases&#8221; (&#8220;ASC 842&#8221;), which </span>requires lessees to apply a dual approach, classifying leases as either finance or operating leases based on
    the principle of whether or not the lease is effectively a financed purchase by the lessee. This classification determines whether lease expense is recognized based on an effective interest method for finance leases or on a straight-line basis over the
    term of the lease for operating leases. A lessee is also required to record a right-of-use asset and a lease liability for all leases with a term of greater than 12 months regardless of their classification.&#160; Leases with a term of 12 months or less are
    accounted for based on existing guidance for operating leases.&#160; If risks and rewards are conveyed without the transfer of control, the lease is treated as financing. If the lessor does not convey risks and rewards or control, the lease is treated as
    operating.</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c021" continuedAt="Text_ff6bd44d82504447a15cb14d093317c022"><ix:continuation id="Text_73dfb5f6f5434bbcaf70c84fc0849f0e1" continuedAt="Text_73dfb5f6f5434bbcaf70c84fc0849f0e2">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c022" continuedAt="Text_ff6bd44d82504447a15cb14d093317c023"><ix:continuation id="Text_73dfb5f6f5434bbcaf70c84fc0849f0e2" continuedAt="Text_73dfb5f6f5434bbcaf70c84fc0849f0e3">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We have elected certain practical expedients available under ASC 842 upon adoption. We have applied the practical expedient for
    short-term leases. We have lease agreements that include lease and non-lease components, and we have not elected the practical expedients to combine these components for any of our leases.</div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c023" continuedAt="Text_ff6bd44d82504447a15cb14d093317c024"><ix:continuation id="Text_73dfb5f6f5434bbcaf70c84fc0849f0e3" continuedAt="Text_73dfb5f6f5434bbcaf70c84fc0849f0e4">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c024" continuedAt="Text_ff6bd44d82504447a15cb14d093317c025"><ix:continuation id="Text_73dfb5f6f5434bbcaf70c84fc0849f0e4" continuedAt="Text_73dfb5f6f5434bbcaf70c84fc0849f0e5">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We enter into lease agreements for the use of real estate space and certain equipment under operating leases and we have no financing
    leases. We determine if an arrangement contains a lease at inception. Our leases are included in &#8220;Right-of-use asset&#8221; and &#8220;Lease liability&#8221; in our Consolidated Balance Sheets.</div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c025" continuedAt="Text_ff6bd44d82504447a15cb14d093317c026"><ix:continuation id="Text_73dfb5f6f5434bbcaf70c84fc0849f0e5" continuedAt="Text_73dfb5f6f5434bbcaf70c84fc0849f0e6">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c026" continuedAt="Text_ff6bd44d82504447a15cb14d093317c027"><ix:continuation id="Text_73dfb5f6f5434bbcaf70c84fc0849f0e6">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Right of use assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to
    make lease payments arising from the lease. Lease right of use assets and liabilities are recognized at the commencement date of the lease based on the present value of lease payments over the lease term. On February 28, 2020, we entered into an
    amendment to extend the lease on our facility in Ithaca, New York, which resulted in recording an additional right-of-use-asset and lease liability of $<ix:nonFraction name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" id="Fact_49bdaef897564157a284c3b9f58d86a6" contextRef="c20200228to20200228_PropertyPlantAndEquipmentByTypeAxis_BuildingMember" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal"><ix:nonFraction name="tact:IncreaseDecreaseInOperatingLeaseRightOfUseAsset" id="Fact_2c81c920ef124a8ba0f2fcf6b9b1663b" contextRef="c20200228to20200228_PropertyPlantAndEquipmentByTypeAxis_BuildingMember" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">1.5</ix:nonFraction></ix:nonFraction>
    million.&#160; The lease, which was last amended on January 14, 2016, was scheduled to expire on May 31, 2021.&#160; The lease amendment provides for an extension of the lease for <span style="-sec-ix-hidden:Fact_0a53edda34ca481aa7934ea4ab7d186a">four</span> additional years from June 1, 2021 to May 31, 2025.&#160; On April 30, 2021, we entered into an amendment to modify the expiration date of our lease on our Hamden, CT facility.&#160; The lease, which
    was last amended on January 3, 2017, was scheduled to expire on April 30, 2027.&#160; The lease amendment modified the expiration date to October 31, 2025.&#160; The modification resulted in reducing the right-of-use-asset and lease liability by $<ix:nonFraction name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" id="Fact_9e5ca2725025413dbc30fb8c2ed64c91" contextRef="c20210420to20210420_PropertyPlantAndEquipmentByTypeAxis_FacilityInHamdenConnecticutMember" unitRef="U001" decimals="-5" scale="6" sign="-" format="ixt:numdotdecimal"><ix:nonFraction name="tact:IncreaseDecreaseInOperatingLeaseRightOfUseAsset" id="Fact_2e15e2dee19941d98715d361c9e2a66a" contextRef="c20210420to20210420_PropertyPlantAndEquipmentByTypeAxis_FacilityInHamdenConnecticutMember" unitRef="U001" decimals="-5" scale="6" sign="-" format="ixt:numdotdecimal">0.3</ix:nonFraction></ix:nonFraction> million.&#160; Lease expense is recognized on a straight-line basis over the lease term.&#160; As most of our leases do not provide an implicit rate, the
    Company determines its incremental borrowing rate by using the rate of interest that the Company would have to pay to borrow on a collateralized basis over a similar term, an amount equal to the lease payments in a similar economic environment.&#160; Our
    lease right of use asset excludes lease incentives. Our leases have remaining lease terms of <ix:nonNumeric name="us-gaap:LesseeOperatingLeaseRemainingLeaseTerm" id="Fact_ff2d98cf833d46869c94d01a510e3055" contextRef="c20211231_RangeAxis_MinimumMember" format="ixt-sec:durwordsen">one year</ix:nonNumeric> to <ix:nonNumeric name="us-gaap:LesseeOperatingLeaseRemainingLeaseTerm" id="Fact_821078352b4e4b0f9e6ec5d60e1f2bce" contextRef="c20211231_RangeAxis_MaximumMember" format="ixt-sec:durwordsen">five years</ix:nonNumeric>, some of which include options to extend.&#160; The exercise of lease renewal options is at our sole discretion and our lease right of use assets and liabilities reflect only
    the options we are reasonably certain that we will exercise. Lease expense is recognized on a straight-line basis over the lease term.</div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c027" continuedAt="Text_ff6bd44d82504447a15cb14d093317c028">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-11</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>
<div><ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c028" continuedAt="Text_ff6bd44d82504447a15cb14d093317c029"><ix:nonNumeric name="us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock" id="Text_980b65c72a8b4e72b76eb381dcf66c9b" contextRef="c20210101to20211231" escape="true" continuedAt="Text_d57118e47ace43bfb66622f667cef95c1">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Goodwill and
      Intangible assets</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">:</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> We acquire businesses in purchase
      transactions that result in the recognition of goodwill and intangible assets. The determination of the value of intangible assets requires management to make estimates and assumptions. In accordance with ASC 350-20 &#8220;Goodwill,&#8221; acquired goodwill is
      not amortized but is subject to impairment testing at least annually and when an event occurs or circumstances change that indicate it is more likely than not an impairment exists.&#160; </span>We perform a fair value-based impairment test to the
    carrying value of goodwill and indefinite-lived intangible assets on an annual basis (as of December 31) and, if certain events or circumstances indicate that an impairment loss may have been incurred, on an interim basis.&#160; The Company utilizes the
    option to first assess qualitative factors to determine whether it is necessary to perform the Step 1 quantitative goodwill impairment test in accordance with the applicable accounting standards. Under the qualitative assessment, management considers
    relevant events and circumstances including but not limited to macroeconomic conditions, industry and market considerations, Company performance and events directly affecting the Company. If the Company determines that the Step 1 quantitative
    impairment test is required, management estimates the fair value of the reporting unit primarily using the income approach, which reflects management&#8217;s cash flow projections, and also evaluates the fair value using the market approach. <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Factors considered that may trigger an interim period impairment review of either acquired goodwill or intangible assets are: significant underperformance relative to expected
      historical or projected future operating results; significant changes in the manner of use of acquired assets or the strategy for the overall business; significant negative industry or economic trends; and significant decline in market capitalization
      relative to net book value. Finite lived intangible assets are amortized and are tested for impairment when appropriate.</span></div>
</ix:nonNumeric></ix:continuation>

  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c029" continuedAt="Text_ff6bd44d82504447a15cb14d093317c030"><ix:continuation id="Text_d57118e47ace43bfb66622f667cef95c1" continuedAt="Text_d57118e47ace43bfb66622f667cef95c2">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c030" continuedAt="Text_ff6bd44d82504447a15cb14d093317c031"><ix:continuation id="Text_d57118e47ace43bfb66622f667cef95c2">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">As of December 31, 2021, we have determined that <ix:nonFraction name="us-gaap:GoodwillAndIntangibleAssetImpairment" id="Fact_ca1af0f842de46e8ba921bccaeffb2c9" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt-sec:numwordsen">no</ix:nonFraction> goodwill or intangible asset impairment has occurred and the fair value of goodwill was substantially higher than our carrying value based on our assessment as of December 31, 2021 when our annual review for impairment was performed.</div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c031" continuedAt="Text_ff6bd44d82504447a15cb14d093317c032">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c032" continuedAt="Text_ff6bd44d82504447a15cb14d093317c033"><ix:nonNumeric name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="Text_a1a709585b10474292c74696e24e91d9" contextRef="c20210101to20211231" escape="true" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc1">
<div style="text-align: justify; line-height: 10.25pt; margin-bottom: 8pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Revenue
      recognition:</span> We account for revenue in accordance with ASC Topic 606: Revenue from Contracts with Customers.&#160; In accordance with ASC 606, a performance obligation is a promise in a contract with a customer to transfer a distinct good or
    service to the customer. Some of our contracts with customers contain a single performance obligation, while other contracts contain multiple performance obligations (most commonly when contracts include a hardware product, software and extended
    warranties).&#160; A contract&#8217;s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c033" continuedAt="Text_ff6bd44d82504447a15cb14d093317c034"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc1" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc2">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The transaction price is determined based on the consideration to which the Company will be entitled in exchange for transferring
    services to the customer.&#160; To the extent the transaction price includes variable consideration, such as price protection, reserves for returns and other allowances, the Company estimates the amount of variable consideration that should be included in
    the transaction price utilizing either the &#8220;expected value&#8221; method or the &#8220;most likely amount&#8221; method depending on the nature of the variable consideration.&#160; Variable consideration is included in the transaction price if, in the Company&#8217;s judgment, it
    is probable that a significant future reversal of cumulative revenue under the contract will not occur.</div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c034" continuedAt="Text_ff6bd44d82504447a15cb14d093317c035"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc2" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc3">
<div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c035" continuedAt="Text_ff6bd44d82504447a15cb14d093317c036"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc3" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc4">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">For a majority of our revenue, which consists of printers, terminals, consumables, and replacement parts, the Company recognizes
    revenue as of a point of time.&#160; The transaction price is recognized upon shipment of the order when control of the goods is transferred to the customer and at the time the performance obligation is fulfilled.&#160; We also sell a software solution in our
    casino and gaming market, EPICENTRAL, that enables casino operators to create promotional coupons and marketing messages and to print them in real time at the slot machine.&#160; EPICENTRAL is primarily comprised of both a software component, which is
    licensed to the customer, and a hardware component.&#160; EPICENTRAL software and hardware are integrated to deliver the system&#8217;s full functionality.&#160; The transaction prices from EPICENTRAL software license and hardware are recognized upon installation and
    formal acceptance by the customer when control of the license is transferred to the customer.&#160; For out-of-warranty repairs, the transaction price is recognized after the repair work is completed and the printer or terminal is returned to the customer,
    as control of the product is transferred to the customer and our performance obligation is completed.</div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c036" continuedAt="Text_ff6bd44d82504447a15cb14d093317c037"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc4" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc5">
<div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c037" continuedAt="Text_ff6bd44d82504447a15cb14d093317c038"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc5" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc6">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Performance obligations are satisfied over time if the customer receives the benefits as we perform work, if the customer controls the
    asset as it is being produced, or if the product being produced for the customer has no alternative use and we have a contractual right to payment.&#160; For our separately priced extended warranty, BOHA! cloud-based software applications, technical support
    for our food service technology terminals and maintenance agreements (including free <ix:nonNumeric name="tact:TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" id="Fact_7cf1bb7ea0d44530badecc849eec372b" contextRef="c20210101to20211231" format="ixt-sec:durwordsen">one-year</ix:nonNumeric> maintenance received by customers upon completion
    of EPICENTRAL installation) revenue is recognized over time as the customer receives the benefit.&#160; The transaction price from the maintenance services is recognized ratably over time, using output methods, as control of the services is transferred to
    the customer.&#160; Our cloud-based BOHA! software allows customers to use hosted software over the contract period on a subscription basis without taking possession of the software and the subscription price is recognized ratably over the contract period.&#160;
    For extended warranties, the transaction price is recognized ratably over the warranty period, using output methods, as control of the services is transferred to the customer.</div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c038" continuedAt="Text_ff6bd44d82504447a15cb14d093317c039"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc6" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc7">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c039" continuedAt="Text_ff6bd44d82504447a15cb14d093317c040"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc7" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc8">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">When there is more than one performance obligation in a customer arrangement, the Company typically uses the &#8220;standalone selling price&#8221;
    method to determine the transaction price to allocate to each performance obligation. The Company sells the performance obligations separately and has established standalone selling prices for its products and services. In the case of an overall price
    discount, the discount is applied to each performance obligation proportionately based on standalone selling price. To determine the standalone selling price for initial EPICENTRAL installations, the Company uses the adjusted market assessment
    approach.</div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c040" continuedAt="Text_ff6bd44d82504447a15cb14d093317c041"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc8" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc9">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c041" continuedAt="Text_ff6bd44d82504447a15cb14d093317c042"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc9" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc10">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">For contracts with terms of less than 12 months, the Company expenses sales commissions as they are incurred, since the expected
    amortization period of the cost to obtain a contract is less than 12 months.</div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c042" continuedAt="Text_ff6bd44d82504447a15cb14d093317c043"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc10" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc11">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation></div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-12</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>
<div><ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c043" continuedAt="Text_ff6bd44d82504447a15cb14d093317c044"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc11" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc12">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Disaggregation of revenue</div>
</ix:continuation></ix:continuation>

  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c044" continuedAt="Text_ff6bd44d82504447a15cb14d093317c045"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc12" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc13"><ix:nonNumeric name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="Text_6ec54f25df26416e9ccd831af7f9af1f" contextRef="c20210101to20211231" escape="true" continuedAt="Text_b69bfd43fec94421a6edc016f1f76e161">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following table disaggregates our revenue by market type, as we believe it best depicts how the nature, amount, timing and uncertainty of
    our revenue and cash flows are affected by economic factors.&#160; Sales and usage-based taxes are excluded from revenues.</div>
</ix:nonNumeric></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c045" continuedAt="Text_ff6bd44d82504447a15cb14d093317c046"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc13" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc14"><ix:continuation id="Text_b69bfd43fec94421a6edc016f1f76e161" continuedAt="Text_b69bfd43fec94421a6edc016f1f76e162">
<div style="line-height: 11.05pt;"><br />
  </div>
</ix:continuation></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c046" continuedAt="Text_ff6bd44d82504447a15cb14d093317c047"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc14" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc15"><ix:continuation id="Text_b69bfd43fec94421a6edc016f1f76e162" continuedAt="Text_b69bfd43fec94421a6edc016f1f76e163">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;" colspan="10">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31, 2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">(In thousands)</span></div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">United States</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Food service technology</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_07b868794b34419db70fe34b34993634" contextRef="c20210101to20211231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">11,738</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_afe6b1d0560f425183609a2b7c115e29" contextRef="c20210101to20211231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">887</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_f7c750099e13481fa2f75b2f580a5f5d" contextRef="c20210101to20211231_ProductOrServiceAxis_FoodServiceTechnologyMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">12,625</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%;">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">POS automation</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_2b24c8d28f45491aaad4bc9d7ec19105" contextRef="c20210101to20211231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">4,817</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_6fb236f7b91a4216b26194368a8f5780" contextRef="c20210101to20211231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">8</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_042aa47cfb304b868c9fb32c03a7d201" contextRef="c20210101to20211231_ProductOrServiceAxis_PosAutomationAndBankingMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">4,825</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Casino and gaming</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_1ff4c6690fe743af87e22223076d3efa" contextRef="c20210101to20211231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">10,173</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_8cda49ec629f4335a1c010716dcc17ad" contextRef="c20210101to20211231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">5,129</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_0b9d53f275c547699c6d186ef7a7f2c9" contextRef="c20210101to20211231_ProductOrServiceAxis_CasinoAndGamingMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">15,302</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%;">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Printrex</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_ca5815d10b774812a5592e1b92491356" contextRef="c20210101to20211231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">171</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_2138772f994e4a7ba7a04d46b87c9c6c" contextRef="c20210101to20211231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">460</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_e544e92162cd4149a92edb554f44a4f0" contextRef="c20210101to20211231_ProductOrServiceAxis_PrintrexMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">631</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct Services Group</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_7657b5232e6e4cef8998af6952a59bcf" contextRef="c20210101to20211231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">5,501</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_0aff425dd99645e69d4c2b940580f4b9" contextRef="c20210101to20211231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">502</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_a8589516877040928d9fd26a9aaef7d8" contextRef="c20210101to20211231_ProductOrServiceAxis_TransactServicesGroupMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">6,003</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px;">
          <div style="text-align: left; margin-left: 16.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total net sales</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_9b58b4c959ef46a1b5151013bb03f665" contextRef="c20210101to20211231_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">32,400</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_d41c23a5b1bf4dcda720e7081423e466" contextRef="c20210101to20211231_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">6,986</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_63d9822502bf40d3a9ae39b49dcbce48" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">39,386</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c047" continuedAt="Text_ff6bd44d82504447a15cb14d093317c048"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc15" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc16"><ix:continuation id="Text_b69bfd43fec94421a6edc016f1f76e163" continuedAt="Text_b69bfd43fec94421a6edc016f1f76e164">
<div style="line-height: 12.3pt;"><br />
  </div>
</ix:continuation></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c048" continuedAt="Text_ff6bd44d82504447a15cb14d093317c049"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc16" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc17"><ix:continuation id="Text_b69bfd43fec94421a6edc016f1f76e164">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;" colspan="10">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31, 2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">(In thousands)</span></div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">United States</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Food service technology</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_cceff49d9f5a45eba7cd56761a29addc" contextRef="c20200101to20201231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">6,956</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_037a1659ca174ace9519868322e35892" contextRef="c20200101to20201231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">778</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_63a4c28848354ffa88ec67fb9f9af3cf" contextRef="c20200101to20201231_ProductOrServiceAxis_FoodServiceTechnologyMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">7,734</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%;">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">POS automation</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_67f498b197c1442f8b9c7b259d3fc2e9" contextRef="c20200101to20201231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">3,763</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_85e8b496938e4ea0b9eca6a9fa965742" contextRef="c20200101to20201231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">7</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_8440b11c51df49bebf8c01f67d0e5fc9" contextRef="c20200101to20201231_ProductOrServiceAxis_PosAutomationAndBankingMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">3,770</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Casino and gaming</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_3760a0f339ed4deab2632644aafd7ae8" contextRef="c20200101to20201231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">6,852</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_7bcdffbb8d5944eb8814824bfac10ba7" contextRef="c20200101to20201231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">4,127</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_9b2dec1595c2450cbc41d68703bfa9bb" contextRef="c20200101to20201231_ProductOrServiceAxis_CasinoAndGamingMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">10,979</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%;">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Lottery</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_c46e481f3f7846e4b08540ec8e5b03f1" contextRef="c20200101to20201231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">817</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_1545512f4d4b4070b9ef7f59959fdfc9" contextRef="c20200101to20201231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_05466945f0314a69a087a5889ee5fd18" contextRef="c20200101to20201231_ProductOrServiceAxis_LotteryMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">817</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Printrex</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_16ca17f98e2343e6b618fd3108e0d8b7" contextRef="c20200101to20201231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">83</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_a1441bdd0580441d985af02d2c13319f" contextRef="c20200101to20201231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">217</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_6def9484a163411eb02f616093f51f9b" contextRef="c20200101to20201231_ProductOrServiceAxis_PrintrexMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">300</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px;">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct Services Group</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_d933114435784925ad59964ea1452590" contextRef="c20200101to20201231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">6,262</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_f067b5a268404acb8d659b624b83e3c6" contextRef="c20200101to20201231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">733</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_e0719514d6d842d9aab69d84b11af690" contextRef="c20200101to20201231_ProductOrServiceAxis_TransactServicesGroupMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">6,995</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;">
          <div style="text-align: left; margin-left: 16.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total net sales</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_36031d90045e487bb9e43f58d5b83af0" contextRef="c20200101to20201231_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">24,733</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_1536f78606f74c12b781b25727172b72" contextRef="c20200101to20201231_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">5,862</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_30eeb0c10d6b4e3789fc0a2d16059592" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">30,595</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c049" continuedAt="Text_ff6bd44d82504447a15cb14d093317c050"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc17" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc18">
<div style="text-align: left; line-height: 14.75pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c050" continuedAt="Text_ff6bd44d82504447a15cb14d093317c051"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc18" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc19">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Contract balances</div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c051" continuedAt="Text_ff6bd44d82504447a15cb14d093317c052"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc19" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc20">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Contract assets consist of unbilled receivables.&#160; Pursuant to the over-time revenue recognition model, revenue may be recognized prior
    to the customer being invoiced. An unbilled receivable is recorded to reflect revenue that is recognized when such revenue exceeds the amount invoiced to the customer. Unbilled receivables are separated into current and non-current assets and included
    within &#8220;Accounts Receivable&#8221; and &#8220;Other Non-Current Assets&#8221; on the Consolidated Balance Sheets.&#160; We first recorded contract assets during 2020 upon the start of a long-term BOHA! contract.</div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c052" continuedAt="Text_ff6bd44d82504447a15cb14d093317c053"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc20" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc21">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c053" continuedAt="Text_ff6bd44d82504447a15cb14d093317c054"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc21" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc22">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Contract liabilities consist of customer prepayments and deferred revenue.&#160; Customer prepayments are reported as &#8220;Accrued Liabilities&#8221;
    in current liabilities in the Consolidated Balance Sheets and represent customer payments made in advance of performance obligations in instances where credit has not been extended and is recognized as revenue when the performance obligation is
    complete.&#160; Deferred revenue is reported separately in current liabilities and non-current liabilities and consists of our extended warranty contracts, technical support for our food service technology terminals, EPICENTRAL maintenance contracts and
    prepaid software subscriptions for our BOHA! software applications, and is recognized as revenue as (or when) we perform under the contract.&#160; The increase in current and non-current deferred revenue in 2021 compared to 2020 was primarily due to
    increased BOHA! software subscriptions and increased extended warranty contracts on our BOHA! hardware products.&#160; During the year ended December 31, 2021,
    we recognized revenue of $<ix:nonFraction name="tact:ContractWithCustomerRevenueRecognized" id="Fact_17dd4f48661847daa54ed1b1d1472e5c" contextRef="c20200101to20201231" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">0.7</ix:nonFraction> million related to our contract liabilities as of December 31, 2020. </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c054" continuedAt="Text_ff6bd44d82504447a15cb14d093317c055"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc22" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc23"><ix:nonNumeric name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="Text_c78427c499434299aa07edda49ca7d60" contextRef="c20210101to20211231" escape="true" continuedAt="Text_6562857affa04f81946042c4dcc22e661">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:nonNumeric></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c055" continuedAt="Text_ff6bd44d82504447a15cb14d093317c056"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc23" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc24"><ix:continuation id="Text_6562857affa04f81946042c4dcc22e661" continuedAt="Text_6562857affa04f81946042c4dcc22e662">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net contract (liabilities) assets consist of the following:</div>
</ix:continuation></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c056" continuedAt="Text_ff6bd44d82504447a15cb14d093317c057"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc24" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc25"><ix:continuation id="Text_6562857affa04f81946042c4dcc22e662" continuedAt="Text_6562857affa04f81946042c4dcc22e663">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c057" continuedAt="Text_ff6bd44d82504447a15cb14d093317c058"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc25" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc26"><ix:continuation id="Text_6562857affa04f81946042c4dcc22e663">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">(In thousands)</span></div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Unbilled receivables, current</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" id="Fact_abffa07e37264a4ca4bb0605571e4612" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">314</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" id="Fact_b958e33cb76a44ddb5a776d7dbd08a7a" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">290</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Unbilled receivables, non-current</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetNoncurrent" id="Fact_324586d1cb9c4058b9fadad4473c3a42" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">308</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetNoncurrent" id="Fact_0437da69a1fc4ea09dd4cf5a8590f933" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">591</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Customer pre-payments</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" id="Fact_b3a482dac3594708b44af11fbb398e4b" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">99</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" id="Fact_ea042e47e2894043b31b5f755243c234" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">216</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred revenue, current</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" id="Fact_5558177efb9f48feb224e507ee2463e2" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">805</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" id="Fact_7687993674894c8d9e23b230c6de0e00" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">504</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred revenue, non-current</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityNoncurrent" id="Fact_9b6157f0af084cfa95fa143453ca88e6" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">186</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityNoncurrent" id="Fact_cc07ac9d0f2b4c7582b7461dba4273af" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">111</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net contract (liabilities) assets</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="tact:ContractWithCustomerAssetLiabilityNet" id="Fact_78e6eb911c574b45b031e1460141cd63" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">468</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="tact:ContractWithCustomerAssetLiabilityNet" id="Fact_01196d2eafeb48adaaded239f0f9c0c0" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">50</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c058" continuedAt="Text_ff6bd44d82504447a15cb14d093317c059"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc26" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc27">
<div style="text-align: justify; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c059" continuedAt="Text_ff6bd44d82504447a15cb14d093317c060"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc27" continuedAt="Text_f4a1a83aedd14ed9993388a70b960adc28">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Remaining performance obligations</div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c060" continuedAt="Text_ff6bd44d82504447a15cb14d093317c061"><ix:continuation id="Text_f4a1a83aedd14ed9993388a70b960adc28">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Remaining performance obligations represent the transaction price of firm orders for which a good or service has not been delivered to
    our customer.&#160; As of December 31, 2021, the aggregate amount of the transaction price allocated to remaining performance obligations was $<ix:nonFraction name="us-gaap:RevenueRemainingPerformanceObligation" id="Fact_d486a8fef49b476190fd8746afbf5e37" contextRef="c20211231" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">10.5</ix:nonFraction> million.&#160; The Company expects to recognize revenue on $<ix:nonFraction name="us-gaap:RevenueRemainingPerformanceObligation" id="Fact_1720bc18dfa447edbe450a412c6c7695" contextRef="c20211231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20220101Member" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">10.1</ix:nonFraction>
    million of our remaining performance obligations within the next <ix:nonNumeric name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="Fact_e55cdacc9187468a9eb398fb8e3d240f" contextRef="c20211231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20220101Member" format="ixt-sec:durmonth">12</ix:nonNumeric> months and $<ix:nonFraction name="us-gaap:RevenueRemainingPerformanceObligation" id="Fact_d45056dd3c274760a3606afb1d11d118" contextRef="c20211231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20230101Member" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">0.4</ix:nonFraction> million within the next <span style="-sec-ix-hidden:Fact_0fb767fdbb19460d8f1b18e429c9fbeb">24</span> months.</div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c061" continuedAt="Text_ff6bd44d82504447a15cb14d093317c062">
<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br />
  </div>
</ix:continuation></div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-13</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>
<div><ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c062" continuedAt="Text_ff6bd44d82504447a15cb14d093317c063"><ix:nonNumeric name="us-gaap:ConcentrationRiskCreditRisk" id="Text_2b299792be934052a24c455928d01035" contextRef="c20210101to20211231" escape="true" continuedAt="Text_30f60c01c53a4b5b99ea7bf1c7f539481">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Concentration of credit
      risk:</span>&#160; Financial instruments that potentially expose us to concentrations of credit risk are limited to cash and cash equivalents held by our banks in excess of insured limits and accounts receivable.</div>
</ix:nonNumeric></ix:continuation>

  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c063" continuedAt="Text_ff6bd44d82504447a15cb14d093317c064"><ix:continuation id="Text_30f60c01c53a4b5b99ea7bf1c7f539481" continuedAt="Text_30f60c01c53a4b5b99ea7bf1c7f539482">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c064" continuedAt="Text_ff6bd44d82504447a15cb14d093317c065"><ix:continuation id="Text_30f60c01c53a4b5b99ea7bf1c7f539482" continuedAt="Text_30f60c01c53a4b5b99ea7bf1c7f539483"><ix:nonNumeric name="us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" id="Text_89671cac314b4e19b53d7b979330c1ee" contextRef="c20210101to20211231" escape="true" continuedAt="Text_daf47f38ec4e428e95ec82260922bd001">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accounts receivable from customers representing 10% or more of total accounts receivable were as follows:</div>
</ix:nonNumeric></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c065" continuedAt="Text_ff6bd44d82504447a15cb14d093317c066"><ix:continuation id="Text_30f60c01c53a4b5b99ea7bf1c7f539483" continuedAt="Text_30f60c01c53a4b5b99ea7bf1c7f539484"><ix:continuation id="Text_daf47f38ec4e428e95ec82260922bd001" continuedAt="Text_daf47f38ec4e428e95ec82260922bd002">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c066" continuedAt="Text_ff6bd44d82504447a15cb14d093317c067"><ix:continuation id="Text_30f60c01c53a4b5b99ea7bf1c7f539484" continuedAt="Text_30f60c01c53a4b5b99ea7bf1c7f539485"><ix:continuation id="Text_daf47f38ec4e428e95ec82260922bd002" continuedAt="Text_daf47f38ec4e428e95ec82260922bd003">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Chain Link Services</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_091257d077ed4537a4466cd6ec2c23e3" contextRef="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ScientificGamesMember" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">10</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_ee6f188f7eb54fbe8d717e86c88449a5" contextRef="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ScientificGamesMember" unitRef="U007" decimals="0" scale="-2" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International Gaming Technology (&#8220;IGT&#8221;)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_5c1271a91673421690675ee860646576" contextRef="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">3</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_aaccfcd5690f4f849ebb78e7d6729aa2" contextRef="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">11</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">NCR Corporation</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_508bca339c0a478687ea07da03b85315" contextRef="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_NcrCorporationMember" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">11</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_f15bdcec3a74491e8f4b0c18484c5572" contextRef="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_NcrCorporationMember" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">2</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>
</ix:continuation></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c067" continuedAt="Text_ff6bd44d82504447a15cb14d093317c068"><ix:continuation id="Text_30f60c01c53a4b5b99ea7bf1c7f539485" continuedAt="Text_30f60c01c53a4b5b99ea7bf1c7f539486"><ix:continuation id="Text_daf47f38ec4e428e95ec82260922bd003" continuedAt="Text_daf47f38ec4e428e95ec82260922bd004">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c068" continuedAt="Text_ff6bd44d82504447a15cb14d093317c069"><ix:continuation id="Text_30f60c01c53a4b5b99ea7bf1c7f539486" continuedAt="Text_30f60c01c53a4b5b99ea7bf1c7f539487"><ix:continuation id="Text_daf47f38ec4e428e95ec82260922bd004" continuedAt="Text_daf47f38ec4e428e95ec82260922bd005">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Sales to customers representing 10% or more of total net sales were as follows:</div>
</ix:continuation></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c069" continuedAt="Text_ff6bd44d82504447a15cb14d093317c070"><ix:continuation id="Text_30f60c01c53a4b5b99ea7bf1c7f539487" continuedAt="Text_30f60c01c53a4b5b99ea7bf1c7f539488"><ix:continuation id="Text_daf47f38ec4e428e95ec82260922bd005" continuedAt="Text_daf47f38ec4e428e95ec82260922bd006">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c070" continuedAt="Text_ff6bd44d82504447a15cb14d093317c071"><ix:continuation id="Text_30f60c01c53a4b5b99ea7bf1c7f539488"><ix:continuation id="Text_daf47f38ec4e428e95ec82260922bd006">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">IGT</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_d276ac642d2f47bab1e653fa8e770084" contextRef="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">9</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_923d63e0f8bd49618f2cf3427cd5cfe0" contextRef="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">15</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>
</ix:continuation></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c071" continuedAt="Text_ff6bd44d82504447a15cb14d093317c072">
<div style="text-align: left; line-height: 13.7pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c072" continuedAt="Text_ff6bd44d82504447a15cb14d093317c073"><ix:nonNumeric name="us-gaap:StandardProductWarrantyPolicy" id="Text_30f339925ac04ea786cf4420d70d779c" contextRef="c20210101to20211231" escape="true" continuedAt="Text_a67ebb69fd0b45c7bec01927d35ad8181">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Warranty:</span> We generally warrant our
    products for up to <ix:nonNumeric name="tact:ExtendedProductWarrantyPeriod" id="Fact_98683472eb3946a4868868a9a13d3bc1" contextRef="c20210101to20211231_RangeAxis_MaximumMember" format="ixt-sec:durmonth">24</ix:nonNumeric> months and record the estimated cost of such product warranties at the time the sale is recorded.&#160; Estimated warranty
    costs are based upon actual past experience of product repairs and the related estimated cost of labor and material to make the necessary repairs.</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c073" continuedAt="Text_ff6bd44d82504447a15cb14d093317c074"><ix:continuation id="Text_a67ebb69fd0b45c7bec01927d35ad8181" continuedAt="Text_a67ebb69fd0b45c7bec01927d35ad8182">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c074" continuedAt="Text_ff6bd44d82504447a15cb14d093317c075"><ix:continuation id="Text_a67ebb69fd0b45c7bec01927d35ad8182" continuedAt="Text_a67ebb69fd0b45c7bec01927d35ad8183"><ix:nonNumeric name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" id="Text_18de49a619234504be88683b77fafefe" contextRef="c20210101to20211231" escape="true" continuedAt="Text_b135defc2a934cecadf5c48004dc46cb1">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following table summarizes the activity recorded in the accrued product warranty liability:</div>
</ix:nonNumeric></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c075" continuedAt="Text_ff6bd44d82504447a15cb14d093317c076"><ix:continuation id="Text_a67ebb69fd0b45c7bec01927d35ad8183" continuedAt="Text_a67ebb69fd0b45c7bec01927d35ad8184"><ix:continuation id="Text_b135defc2a934cecadf5c48004dc46cb1" continuedAt="Text_b135defc2a934cecadf5c48004dc46cb2">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c076" continuedAt="Text_ff6bd44d82504447a15cb14d093317c077"><ix:continuation id="Text_a67ebb69fd0b45c7bec01927d35ad8184" continuedAt="Text_a67ebb69fd0b45c7bec01927d35ad8185"><ix:continuation id="Text_b135defc2a934cecadf5c48004dc46cb2">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, beginning of period</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrual" id="Fact_a0204574209d4f1fbc61657c9f22b337" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">140</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrual" id="Fact_b43b2857869345cdbe2484aa264c03fe" contextRef="c20191231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">215</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Warranties issued</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued" id="Fact_e379d8d8fd3f47b987df4fa4e4366b87" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">44</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued" id="Fact_a89bf7429ac64fd697da7c2d869d3dde" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">56</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Warranty settlements</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrualPayments" id="Fact_de3256aef1344b1d87ae5e75a166c072" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">83</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrualPayments" id="Fact_98f7e692c7674c33ade35d416c005ead" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">131</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, end of period</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrual" id="Fact_ec931a1c6ec4407f870e81250fd3a65c" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">101</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrual" id="Fact_b4c5c332358e4db8b5a700f0bd99e9bb" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">140</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c077" continuedAt="Text_ff6bd44d82504447a15cb14d093317c078"><ix:continuation id="Text_a67ebb69fd0b45c7bec01927d35ad8185" continuedAt="Text_a67ebb69fd0b45c7bec01927d35ad8186">
<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c078" continuedAt="Text_ff6bd44d82504447a15cb14d093317c079"><ix:continuation id="Text_a67ebb69fd0b45c7bec01927d35ad8186">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$<ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrualCurrent" id="Fact_dd723a81d1c84004ba034c792de65bb0" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">79</ix:nonFraction> thousand and $<ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrualCurrent" id="Fact_50cd97295d9143648bc7fc27bb7f1561" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">112</ix:nonFraction> thousand of the accrued product warranty liability was classified as current in Accrued liabilities at December 31, 2021 and 2020, respectively.&#160; The remaining
    $<ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrualNoncurrent" id="Fact_91393daeb58942e0b848b43746a8a875" contextRef="c20211231_BalanceSheetLocationAxis_OtherLiabilitiesMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">22</ix:nonFraction> thousand and $<ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrualNoncurrent" id="Fact_558a57554d7440988011f11adc5281d5" contextRef="c20201231_BalanceSheetLocationAxis_OtherLiabilitiesMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">28</ix:nonFraction> thousand of the
    accrued product warranty liability as of December 31, 2021 and 2020, respectively, was classified as long-term in Other liabilities.</div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c079" continuedAt="Text_ff6bd44d82504447a15cb14d093317c080">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c080" continuedAt="Text_ff6bd44d82504447a15cb14d093317c081"><ix:nonNumeric name="us-gaap:ResearchAndDevelopmentExpensePolicy" id="Text_e4c89041ce964f63a3ab9bd4f1a00125" contextRef="c20210101to20211231" escape="true" continuedAt="Text_9097b3312d5a44ac99c3ade92dd0695a1">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Engineering,



      design and product development:</span> Engineering, design and product development expenses include expenses incurred in connection with specialized engineering and design to introduce new products and to customize existing products, and are expensed
    as a component of operating expenses as incurred.&#160; We recorded $<ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" id="Fact_b0089f421d7d48068b193e21a327ad64" contextRef="c20210101to20211231" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">7.5</ix:nonFraction> million and $<ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" id="Fact_b74d7ceb05014a9d94c25a046f3af0ad" contextRef="c20200101to20201231" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">5.7</ix:nonFraction> million of research and development expenses in 2021 and 2020, respectively.</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c081" continuedAt="Text_ff6bd44d82504447a15cb14d093317c082"><ix:continuation id="Text_9097b3312d5a44ac99c3ade92dd0695a1" continuedAt="Text_9097b3312d5a44ac99c3ade92dd0695a2">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c082" continuedAt="Text_ff6bd44d82504447a15cb14d093317c083"><ix:continuation id="Text_9097b3312d5a44ac99c3ade92dd0695a2">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Costs incurred in the engineering, design and product development of a computer software product are charged to expense until
    technological feasibility has been established, at which point all material software costs are capitalized within Intangible assets in our Consolidated Balance Sheet until the product is available for general release to customers.&#160; While judgment is
    required in determining when technological feasibility of a product is established, we have determined that it is reached after all high-risk development issues have been documented in a formal detailed plan design.&#160; The amortization of these costs
    have been included in cost of sales over the estimated life of the product.&#160; During 2019, we contracted several third-parties to develop software for our food service technology products, the cost for which we capitalized.&#160; Unamortized development
    costs for such software were $<ix:nonFraction name="us-gaap:CapitalizedComputerSoftwareNet" id="Fact_1bba367dc5794577aa2515873faf6942" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">396</ix:nonFraction> thousand as of December 31, 2021.&#160; The total amount charged to cost of sales for capitalized software development costs was $<ix:nonFraction name="us-gaap:CapitalizedComputerSoftwareAmortization1" id="Fact_bb711623a9f742bf8a84ed0ef7102cbf" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">154</ix:nonFraction>
    thousand and $<ix:nonFraction name="us-gaap:CapitalizedComputerSoftwareAmortization1" id="Fact_f2b1a652723a4a318f611f7f79d53148" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">153</ix:nonFraction> thousand in 2021
    and 2020, respectively.</div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c083" continuedAt="Text_ff6bd44d82504447a15cb14d093317c084">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c084" continuedAt="Text_ff6bd44d82504447a15cb14d093317c085"><ix:nonNumeric name="us-gaap:AdvertisingCostsPolicyTextBlock" id="Text_640142caf0ca49c68703632c34f3c261" contextRef="c20210101to20211231" escape="true">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Advertising:</span> Advertising costs are
    expensed as incurred.&#160; Advertising expenses, which are included in selling and marketing expense on the accompanying Consolidated Statements of Operations, for 2021 and 2020 totaled $<ix:nonFraction name="us-gaap:AdvertisingExpense" id="Fact_8fad1200199648688c449cc023bbc32e" contextRef="c20210101to20211231" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">1.8</ix:nonFraction> million and $<ix:nonFraction name="us-gaap:AdvertisingExpense" id="Fact_92361189e6de43ea9cc02e3583077d6e" contextRef="c20200101to20201231" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">0.7</ix:nonFraction> million, respectively. These expenses include items such as
    consulting and professional services, tradeshows, and print advertising.</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c085" continuedAt="Text_ff6bd44d82504447a15cb14d093317c086">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c086" continuedAt="Text_ff6bd44d82504447a15cb14d093317c087"><ix:nonNumeric name="us-gaap:IncomeTaxPolicyTextBlock" id="Text_fec5bc44f8b047c49ba621837b28bd1b" contextRef="c20210101to20211231" escape="true">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Income taxes:</span> The income tax
    amounts reflected in the accompanying Consolidated Financial Statements are accounted for under the liability method in accordance with ASC 740, &#8220;Income Taxes&#8221; (&#8220;ASC 740&#8221;).&#160; Deferred tax assets and liabilities are recognized for the estimated future
    tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards.&#160; Deferred tax assets and liabilities are
    measured using enacted tax rates in effect for the year in which those temporary differences are expected to be recovered or settled.&#160; We assess the likelihood that net deferred tax assets will be realized from future taxable income, and to the extent
    that we believe that realization is not likely, we establish a valuation allowance.&#160; In accordance with ASC 740, we identified, evaluated and measured the amount of benefits to be recognized for our tax return positions. </div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c087" continuedAt="Text_ff6bd44d82504447a15cb14d093317c088">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c088" continuedAt="Text_ff6bd44d82504447a15cb14d093317c089"><ix:nonNumeric name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" id="Text_58ecfc84d1294622a88d78fe023cff0a" contextRef="c20210101to20211231" escape="true">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Foreign currency
      translation:</span> The financial position and results of operations of our foreign subsidiary in the UK are measured using local currency as the functional currency.&#160; Assets and liabilities of such subsidiary have been translated into U.S. dollars
    at the year-end exchange rate, related sales and expenses have been translated at the exchange rate as of the date the transaction was recognized, and shareholders&#8217; equity has been translated at historical exchange rates.&#160; The resulting translation
    gains or losses, net of tax, are recorded in shareholders&#8217; equity as a cumulative translation adjustment, which is a component of accumulated other comprehensive income and loss.&#160; Foreign currency transaction gains and losses, including those related
    to intercompany balances, are recognized in Other, net on the Consolidated Statements of Operations.</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c089" continuedAt="Text_ff6bd44d82504447a15cb14d093317c090">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-14</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>
<div><ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c090" continuedAt="Text_ff6bd44d82504447a15cb14d093317c091"><ix:nonNumeric name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" id="Text_b53c3849ef1047b4a88c7708233d8454" contextRef="c20210101to20211231" escape="true" continuedAt="Text_437f280b865b4dadbdfcc2ee3c72b2511">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Share-based payments:</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">&#160;</span>At December 31, 2021, we have share-based
    employee compensation plans, which are described more fully in Note 10 - Stock incentive plans.&#160; We account for those plans under the recognition and measurement principles of ASC 718, &#8220;Compensation &#8211; Stock Compensation.&#8221;&#160; Share-based compensation
    expense is measured at the grant date, based on the estimated fair value of the award, and is recognized as expense over the employee&#8217;s requisite service period.</div>
</ix:nonNumeric></ix:continuation>

  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c091" continuedAt="Text_ff6bd44d82504447a15cb14d093317c092"><ix:continuation id="Text_437f280b865b4dadbdfcc2ee3c72b2511" continuedAt="Text_437f280b865b4dadbdfcc2ee3c72b2512">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c092" continuedAt="Text_ff6bd44d82504447a15cb14d093317c093"><ix:continuation id="Text_437f280b865b4dadbdfcc2ee3c72b2512">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We use the Black-Scholes option-pricing model to calculate the fair value of share-based awards.&#160; The key assumptions for this
    valuation method include the expected term of the option, stock price volatility, risk-free interest rate, dividend yield, market price of our underlying stock and exercise price.&#160; Many of these assumptions require judgment and are highly sensitive in
    the determination of compensation expense.&#160; Forfeitures are recognized as they occur.</div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c093" continuedAt="Text_ff6bd44d82504447a15cb14d093317c094">
<div style="line-height: 11.05pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_ff6bd44d82504447a15cb14d093317c094"><ix:nonNumeric name="us-gaap:EarningsPerSharePolicyTextBlock" id="Text_217ca0746f8340beb2594a94157f1c56" contextRef="c20210101to20211231" escape="true">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Net loss per
      share:</span> We report net income or loss per share in accordance with ASC 260, &#8220;Earnings per Share (EPS).&#8221; Under this guidance, basic EPS, which excludes dilution, is computed by dividing income or loss available to common shareholders by the
    weighted average number of common shares outstanding for the period.&#160; Diluted EPS reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock.&#160; Diluted EPS
    includes in-the-money stock options using the treasury stock method.&#160; During a loss period, the assumed exercise of in-the-money stock options has an anti-dilutive effect, and therefore, these instruments are excluded from the computation of diluted
    EPS.&#160; See Note 12 - Earnings per share.</div>
</ix:nonNumeric></ix:continuation></div>

  <div style="line-height: 11.4pt;"><br />
  </div>
<div><ix:nonNumeric name="us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" id="Text_2a85fba915304c2ba0c7a9ba7ab83a06" contextRef="c20210101to20211231" escape="true" continuedAt="Text_2034c475c6534feb91e2e89bd4a9f9341">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">3. Note receivable</div>
</ix:nonNumeric>

  <ix:continuation id="Text_2034c475c6534feb91e2e89bd4a9f9341" continuedAt="Text_2034c475c6534feb91e2e89bd4a9f9342">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_2034c475c6534feb91e2e89bd4a9f9342">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">The note receivable balance relates to loans given to a
      third-party software developer from whom we license our food service technology software with an interest rate of </span><ix:nonFraction name="tact:NoteReceivableInterestRate" id="Fact_aeb67104fd314492b5bc6948ed7d89c9" contextRef="c20211231" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">4.5</ix:nonFraction>%<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">, which were originally due in April 2020.&#160; In March 2021, we received payment in the amount of $</span><ix:nonFraction name="us-gaap:ProceedsFromCollectionOfNotesReceivable" id="Fact_0ac78571bb2a4ec8bf082d12b7d9f287" contextRef="c20210101to20211231" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">1.6</ix:nonFraction><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> million representing the remaining principal balance and interest due from the third-party.&#160; </span>Prior to the
    payment being received, notes receivable were stated at unpaid principal balances and interest income was recognized on the accrual method.&#160; Interest income for 2021 and 2020 was $<ix:nonFraction name="tact:NoteReceivableInterestIncome" id="Fact_fa8248804377487fb149e8af3b08e415" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">17</ix:nonFraction> thousand and $<ix:nonFraction name="tact:NoteReceivableInterestIncome" id="Fact_cf7bf382a1524ac3904669d13093bfa3" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">67</ix:nonFraction> thousand, respectively. </div>
</ix:continuation></div>

  <div style="line-height: 11.4pt;"><br />
  </div>
<div><ix:nonNumeric name="us-gaap:InventoryDisclosureTextBlock" id="Text_c897651d17bc44989a5613e77b89c9e7" contextRef="c20210101to20211231" escape="true" continuedAt="Text_3ed2857ce5c045488a066dd4e613fc5e1">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">4. Inventories</div>
</ix:nonNumeric>

  <ix:continuation id="Text_3ed2857ce5c045488a066dd4e613fc5e1" continuedAt="Text_3ed2857ce5c045488a066dd4e613fc5e2">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_3ed2857ce5c045488a066dd4e613fc5e2" continuedAt="Text_3ed2857ce5c045488a066dd4e613fc5e3"><ix:nonNumeric name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="Text_8f9e5a09f6d449baa30ed587c399da12" contextRef="c20210101to20211231" escape="true" continuedAt="Text_2fe22d14e6dc4a868b696f4799df9fe71">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The components of inventories are:</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_3ed2857ce5c045488a066dd4e613fc5e3" continuedAt="Text_3ed2857ce5c045488a066dd4e613fc5e4"><ix:continuation id="Text_2fe22d14e6dc4a868b696f4799df9fe71" continuedAt="Text_2fe22d14e6dc4a868b696f4799df9fe72">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_3ed2857ce5c045488a066dd4e613fc5e4"><ix:continuation id="Text_2fe22d14e6dc4a868b696f4799df9fe72">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Raw materials and purchased component parts</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves" id="Fact_383e1c3ae647446a8e2cda380803b969" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">6,479</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves" id="Fact_1bce1488cf0b4d2893b4dc0a00c200f3" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">5,467</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Work-in-process</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryWorkInProcessNetOfReserves" id="Fact_c0496853979645a0a4a0c16789d065b5" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">11</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryWorkInProcessNetOfReserves" id="Fact_9cc9642d5f1e4234b8766b993847919e" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Finished goods</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryFinishedGoodsNetOfReserves" id="Fact_5596b4b9d5e5411997deba4fd56a1cd2" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,230</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryFinishedGoodsNetOfReserves" id="Fact_514482936ac04510a66df08fe16bc274" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">5,819</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_ef88a11ee47b48c39d812d0d94a487af" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">7,720</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_33870ccbfc224bb48336f7297bfb5aa2" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">11,286</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation></div>

  <div style="text-align: left; line-height: 13.7pt;"><br />
  </div>
<div><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="Text_6adeff6db11342698507c1d6d2633798" contextRef="c20210101to20211231" escape="true" continuedAt="Text_f532068cb114413ab68c61aaba7bd4061">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">5. Fixed assets, net</div>
</ix:nonNumeric>

  <ix:continuation id="Text_f532068cb114413ab68c61aaba7bd4061" continuedAt="Text_f532068cb114413ab68c61aaba7bd4062">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_f532068cb114413ab68c61aaba7bd4062" continuedAt="Text_f532068cb114413ab68c61aaba7bd4063"><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="Text_bc7d5a0ccec148f680cb81a02872111b" contextRef="c20210101to20211231" escape="true" continuedAt="Text_641747ae413c4796b0051bccc90f67561">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The components of fixed assets, net are:</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_f532068cb114413ab68c61aaba7bd4063" continuedAt="Text_f532068cb114413ab68c61aaba7bd4064"><ix:continuation id="Text_641747ae413c4796b0051bccc90f67561" continuedAt="Text_641747ae413c4796b0051bccc90f67562">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_f532068cb114413ab68c61aaba7bd4064"><ix:continuation id="Text_641747ae413c4796b0051bccc90f67562">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Tooling, machinery and equipment</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_566e8de61b47431abdb0ec96b71d9e1f" contextRef="c20211231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">6,694</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_5799c7f2283e417f97728c7693e068b7" contextRef="c20201231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">9,508</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Furniture and office equipment</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_8d5d29a4b7114944bd592d42e241f5a6" contextRef="c20211231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,660</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_6c1b4eb288e447048006dc090ee68f7e" contextRef="c20201231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,706</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Computer software and equipment</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_e5fccc77f88041b882c237c6a9b3764d" contextRef="c20211231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">6,973</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_41bd4258e7f944238c36fb8540a13ccf" contextRef="c20201231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">7,364</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Leasehold improvements</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_12ed6798203f411f9ccf1fc0384c1c2f" contextRef="c20211231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,872</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_56f406812c0344ef8a983ff848402653" contextRef="c20201231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,873</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_4fcebf33452f4a9193847ead62537e8c" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">18,199</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_c7d2276a71f64b0388e87a1224a4ad2f" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">21,451</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Less: Accumulated depreciation and amortization</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" id="Fact_5a4c18ee0fba49f3bb92233f48b55f0a" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">16,736</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" id="Fact_6d827129c559429fbffa0d1f010d7e64" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">19,979</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_3adefa19e4aa42a6a4b92b7b743f36a4" contextRef="c20211231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,463</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_239b58fb9fc94ea4a9453e34d50e3d9a" contextRef="c20201231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,472</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Construction in-process</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_063c533fdbd3481c9abbde0bcf835841" contextRef="c20211231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,221</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" id="Fact_f76b58ffe7f248988b1aa2455b3c1a39" contextRef="c20201231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">478</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_47d108090eba4322a7fad9f37c71d7a2" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,684</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_08f3f2dd937b4616a88e5d81fd557732" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,950</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation></div>

  <div style="text-align: left; line-height: 13.7pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-15</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>
<div><ix:nonNumeric name="us-gaap:IntangibleAssetsDisclosureTextBlock" id="Text_02dae1eef11e490ba4d04083cf52b1cc" contextRef="c20210101to20211231" escape="true" continuedAt="Text_d99e048738564aabba8952d8d51603041">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">6. Intangible assets, net</div>
</ix:nonNumeric>

  <ix:continuation id="Text_d99e048738564aabba8952d8d51603041" continuedAt="Text_d99e048738564aabba8952d8d51603042">
<div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_d99e048738564aabba8952d8d51603042" continuedAt="Text_d99e048738564aabba8952d8d51603043"><ix:nonNumeric name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="Text_2c9b6e33c54f441a8bdc5b9f421a3723" contextRef="c20210101to20211231" escape="true" continuedAt="Text_8b70946ed48e4f55a008901a893ad8681">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Identifiable intangible assets are recorded in Intangible assets, net in the accompanying Consolidated Balance Sheets and are comprised of the following:</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_d99e048738564aabba8952d8d51603043" continuedAt="Text_d99e048738564aabba8952d8d51603044"><ix:continuation id="Text_8b70946ed48e4f55a008901a893ad8681" continuedAt="Text_8b70946ed48e4f55a008901a893ad8682">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_d99e048738564aabba8952d8d51603044" continuedAt="Text_d99e048738564aabba8952d8d51603045"><ix:continuation id="Text_8b70946ed48e4f55a008901a893ad8682">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="14">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: left; line-height: 10.25pt;"><span style="line-height: 10.25pt;">&#160;</span></div>
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gross Amount</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accumulated Amortization</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gross Amount</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accumulated Amortization</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Purchased technology</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_205d637ac90a4bf08ea67475cdedc19d" contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,591</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_134c0bbd9150420780c9593812f91516" contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,195</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_4e5d35b81fc64268916057c297adf3e5" contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,526</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_c6d4d7ba96694e499194b953e208c249" contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,975</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Customer relationships</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_719b504c0f434f9390ecf43b3bdcfdde" contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_CustomerRelationshipsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_a72f44c9b6a740edad58343101676912" contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_CustomerRelationshipsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_9096f622a2254b878de21295bf16a458" contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_CustomerRelationshipsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,300</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_d3e8752d26d2473fa24520d79d74ee4c" contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_CustomerRelationshipsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,300</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Trademark</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_89ff376a7d5845fca71d711854338eff" contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_TrademarksMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_8c331049768449b0a1c896ed1511d9ce" contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_TrademarksMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_e41882732c2a4003bcde8d2a47adaab3" contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_TrademarksMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">480</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_f69baba95c8f44eb9390ef2fd8bcb1fe" contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_TrademarksMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">450</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Covenant not to compete</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_abb1e961a0d140f69ee8c32702785067" contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_NoncompeteAgreementsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_10ddb952e63346daa003f3644045411f" contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_NoncompeteAgreementsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_4ff95ce84cf24dabb4b4ca7d87b83f47" contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_NoncompeteAgreementsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">146</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_ccf6adf38477412a9392fde263f199ab" contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_NoncompeteAgreementsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">146</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Patents</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_cee7f8382401471387dc092d24296eb5" contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">15</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_e9e7fc77a55b416eb27f9394cf540d5c" contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">14</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_4d9b4a2346c6447a8488ce983a8dc949" contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">56</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_a250b1405e0740288e08a71273857c3f" contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">54</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_ab2fea754bcc4ed1bdf565e6e4c8771d" contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_OtherIntangibleAssetsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_62fa6b966efc47b0b71b16c3cb3162c4" contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_OtherIntangibleAssetsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_9dc25dcd868d47a380b0f6a0e274ac35" contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_OtherIntangibleAssetsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">80</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_06a6094b2aa44bb48dec2597f13e1693" contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_OtherIntangibleAssetsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">80</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_44b685e163ce4c62960424e4a88c0199" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,606</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_6df3b55918774f08817b8d82d4d0ec3f" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,209</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" id="Fact_8b9e100d666344ca8eae31ab6d324598" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">4,588</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_1d993ccc8a294de7b25befbac65c93dc" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">4,005</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>


</table>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_d99e048738564aabba8952d8d51603045" continuedAt="Text_d99e048738564aabba8952d8d51603046">
<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_d99e048738564aabba8952d8d51603046">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amortization expense was $<ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" id="Fact_1f602044c8d34b98b228d55230ed472d" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">186</ix:nonFraction>
    thousand and $<ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" id="Fact_b6653475fffb41a689f02f7222554aa5" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">234</ix:nonFraction> thousand in 2021
    and 2020, respectively.&#160; Amortization expense for each of the next five years ending December 31 is expected to be as follows: $<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" id="Fact_70ba98556fff4df287f668538cb048bc" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">155</ix:nonFraction> thousand in 2022; $<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" id="Fact_529f1ca6319145eeb12404682f8d47e1" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">154</ix:nonFraction> thousand in 2023; $<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" id="Fact_054ed807645d42b2aebeb0799c42c153" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">88</ix:nonFraction> thousand in 2024; and <ix:nonFraction name="tact:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree" id="Fact_549fb21b615040ad9852ed2351ec4c63" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt-sec:numwordsen">none</ix:nonFraction> thereafter.</div>
</ix:continuation></div>

  <div style="line-height: 11.4pt;"><br />
  </div>
<div><ix:nonNumeric name="us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" id="Text_d679665b44544d0980ceb3928ea7e557" contextRef="c20210101to20211231" escape="true" continuedAt="Text_f5f2df24aeb74fcab52e37db4ef648351">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">7. Accrued liabilities</div>
</ix:nonNumeric>

  <ix:continuation id="Text_f5f2df24aeb74fcab52e37db4ef648351" continuedAt="Text_f5f2df24aeb74fcab52e37db4ef648352">
<div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_f5f2df24aeb74fcab52e37db4ef648352" continuedAt="Text_f5f2df24aeb74fcab52e37db4ef648353"><ix:nonNumeric name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" id="Text_432454366ed440e986e842ef7bb68bc7" contextRef="c20210101to20211231" escape="true" continuedAt="Text_86808702a3454a868d64ed66a73440981">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The components of accrued liabilities are:</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_f5f2df24aeb74fcab52e37db4ef648353" continuedAt="Text_f5f2df24aeb74fcab52e37db4ef648354"><ix:continuation id="Text_86808702a3454a868d64ed66a73440981" continuedAt="Text_86808702a3454a868d64ed66a73440982">
<div style="text-align: left; line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_f5f2df24aeb74fcab52e37db4ef648354"><ix:continuation id="Text_86808702a3454a868d64ed66a73440982">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Salaries and compensation related</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:EmployeeRelatedLiabilitiesCurrent" id="Fact_549e34ccf0e44129a7c95b510e244d02" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,854</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:EmployeeRelatedLiabilitiesCurrent" id="Fact_e75a80b12ded468d93971346b945c522" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,328</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Warranty</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrualCurrent" id="Fact_546b129c90a649ec89e28289ec03381d" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">79</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ExtendedProductWarrantyAccrualCurrent" id="Fact_dc3b587146654b9888807044ebabb1e3" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">112</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Professional and consulting</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccruedProfessionalFeesCurrent" id="Fact_12004ed6fe5e4637bf4644308882412d" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">285</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccruedProfessionalFeesCurrent" id="Fact_f9a84ef4fa5b45759cc05503dcd8a32e" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">257</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherLiabilitiesCurrent" id="Fact_9debebb91b3343a09121fce4d589ccaa" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">676</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherLiabilitiesCurrent" id="Fact_b0c61f4500c44b499f2cf91fe05ac1b3" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">968</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" id="Fact_fd2bb6f7775e43bba19fb003f42bd82c" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">3,894</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" id="Fact_c6b17199fca94da0891a6d73fb32823f" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">3,665</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation></div>

  <div style="text-align: left; line-height: 13.7pt;"><br />
  </div>
<div><ix:nonNumeric name="us-gaap:CompensationAndEmployeeBenefitPlansTextBlock" id="Text_4be85790c86e46c8a04f2516e69d3c63" contextRef="c20210101to20211231" escape="true" continuedAt="Text_66053f40f43d467e999962186ec0a0011">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">8. Retirement savings plan</div>
</ix:nonNumeric>

  <ix:continuation id="Text_66053f40f43d467e999962186ec0a0011" continuedAt="Text_66053f40f43d467e999962186ec0a0012">
<div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_66053f40f43d467e999962186ec0a0012">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We maintain a 401(k) plan under which all full-time employees are eligible to participate at the beginning of the month immediately
    following their date of hire.&#160; We match employees&#8217; contributions at a rate of <ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" id="Fact_d426313d7c3b4d59b74de28a937f33d9" contextRef="c20210101to20211231" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">50</ix:nonFraction>% of employees&#8217; contributions up to the first <ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent" id="Fact_df5ba21bf00e4e28a4a56e5cf567074c" contextRef="c20210101to20211231" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">6</ix:nonFraction>% of the employees&#8217; compensation contributed to the 401(k) plan.&#160; Our matching contributions were $<ix:nonFraction name="us-gaap:DefinedContributionPlanCostRecognized" id="Fact_04beed4c28f3402a82f3ded96b54eff3" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">312</ix:nonFraction> thousand and $<ix:nonFraction name="us-gaap:DefinedContributionPlanCostRecognized" id="Fact_7f303b8eac4846f2aa74220a947ed066" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">270</ix:nonFraction> thousand in 2021 and 2020, respectively.</div>
</ix:continuation></div>

  <div style="line-height: 11.4pt;"><br />
  </div>
<div><ix:nonNumeric name="us-gaap:DebtDisclosureTextBlock" id="Text_c4459d7d1a2c45cd8a102ef8e7625707" contextRef="c20210101to20211231" escape="true" continuedAt="Text_74550e87b3164d439f6d55b507ae54af1">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">9. Borrowings</div>
</ix:nonNumeric>

  <ix:continuation id="Text_74550e87b3164d439f6d55b507ae54af1" continuedAt="Text_74550e87b3164d439f6d55b507ae54af2">
<div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_74550e87b3164d439f6d55b507ae54af2" continuedAt="Text_74550e87b3164d439f6d55b507ae54af3">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">On March 13, 2020, we entered into a credit facility (the &#8220;Siena Credit Facility&#8221;) with Siena Lending Group LLC.&#160; The Siena Credit
    Facility provides for a revolving credit line of up to $<ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" id="Fact_83863965a2f44a52a11767c0676d502c" contextRef="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">10.0</ix:nonFraction> million expiring on <ix:nonNumeric name="us-gaap:LineOfCreditFacilityExpirationDate1" id="Fact_f9b255056917473b84d74a09a2b1a38f" contextRef="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" format="ixt:datemonthdayyearen">March 13, 2023</ix:nonNumeric>.&#160; Borrowings under the Siena Credit Facility bear a floating rate of interest equal to the greatest of (i) the prime rate plus <ix:nonFraction name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" id="Fact_7261681b17a94bc9872a9646636e2b8f" contextRef="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_PrimeRateMember" unitRef="U007" decimals="4" scale="-2" format="ixt:numdotdecimal">1.75</ix:nonFraction>%, (ii) the federal funds rate plus <ix:nonFraction name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" id="Fact_3f3a242145394469b4015bd00b5c8bc7" contextRef="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_FederalFundsEffectiveSwapRateMember" unitRef="U007" decimals="4" scale="-2" format="ixt:numdotdecimal">2.25</ix:nonFraction>%, and (iii) <ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" id="Fact_ee21771357d5492b8e9869d2b9234968" contextRef="c20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U007" decimals="4" scale="-2" format="ixt:numdotdecimal">6.50</ix:nonFraction>%. The total deferred financing costs related to expenses incurred to complete the Siena Credit Facility was $<ix:nonFraction name="us-gaap:DeferredFinanceCostsGross" id="Fact_cb1a013b5f2d4fef8bbab097986b43ed" contextRef="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">245</ix:nonFraction> thousand, which were reported as &#8220;Other current assets&#8221; in current assets and &#8220;Other assets&#8221; in non-current assets in the Condensed Consolidated Balance Sheets.&#160; We also pay a
    fee of <ix:nonFraction name="us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" id="Fact_46df7dd3df9e401f809164fdd307c289" contextRef="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U007" decimals="4" scale="-2" format="ixt:numdotdecimal">0.50</ix:nonFraction>% on unused borrowings under the Siena Credit Facility.&#160; Borrowings under the Siena Credit Facility are secured by a lien on
    substantially all the assets of the Company.</div>
</ix:continuation>
  <ix:continuation id="Text_74550e87b3164d439f6d55b507ae54af3" continuedAt="Text_74550e87b3164d439f6d55b507ae54af4">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_74550e87b3164d439f6d55b507ae54af4" continuedAt="Text_74550e87b3164d439f6d55b507ae54af5">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Siena Credit Facility imposes a financial covenant on the Company and borrowings are subject to a borrowing base based on (i) <ix:nonFraction name="tact:DebtInstrumentFinancialCovenantEligibleAccountsReceivable" id="Fact_bb2430f0ce814f5a95db00a42846c6e8" contextRef="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">85</ix:nonFraction>% of eligible accounts receivable plus the lesser of (a) $<ix:nonFraction name="tact:DebtInstrumentFinancialCovenantEligibleInventory" id="Fact_80a5915551ff41abb0fc69682a8e4550" contextRef="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">5.0</ix:nonFraction>
    million and (b) <ix:nonFraction name="tact:DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" id="Fact_6a77fd2f2e3f4d94a28b2c6708586191" contextRef="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">50</ix:nonFraction>% of eligible raw material and <ix:nonFraction name="tact:DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" id="Fact_1e6b99c31dfa48dcb79a8b1c871aa09f" contextRef="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">60</ix:nonFraction>%
    of finished goods inventory.&#160; The three-month period from April 1, 2020 to June 30, 2020 was the first period we were subject to the financial covenant, which required the Company to maintain a minimum EBITDA and continued through the 12-month period
    from April 1, 2020 to March 31, 2021.&#160; On July 21, 2021, the Company entered into an amendment (the &#8220;Credit Facility Amendment&#8221;) to the Siena Credit Facility.&#160; The Credit Facility Amendment changed the financial covenant under the Siena Credit Facility
    from a minimum EBITDA covenant to an excess availability covenant requiring that the Company maintain excess availability of at least $<ix:nonFraction name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" id="Fact_c5f816e9fe854e0895baef3efe5af6d5" contextRef="c20210721_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_RangeAxis_MinimumMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">750</ix:nonFraction>
    thousand under the Siena Credit Facility, tested as of the end of each calendar month, beginning with the calendar month ending July 31, 2021.&#160; We have been in compliance with our excess availability covenant each month since July 31, 2021, and as of&#160;
    December 31, 2021 and 2020, we had <ix:nonFraction name="us-gaap:SecuredDebt" id="Fact_8d77b269c68b4b79bc5f6b206d762cd1" contextRef="c20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U001" decimals="-3" scale="3" format="ixt-sec:numwordsen">no</ix:nonFraction>
    outstanding borrowings under the Siena Credit Facility and $<ix:nonFraction name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" id="Fact_b4d066465ce24ec89f39864c32f8f9ae" contextRef="c20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">5.1</ix:nonFraction> million of borrowing capacity available under the Siena Credit Facility as of
    December 31, 2021.</div>
</ix:continuation></div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-16</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>
<div><ix:continuation id="Text_74550e87b3164d439f6d55b507ae54af5" continuedAt="Text_74550e87b3164d439f6d55b507ae54af6">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>

  <ix:continuation id="Text_74550e87b3164d439f6d55b507ae54af6" continuedAt="Text_74550e87b3164d439f6d55b507ae54af7">
<div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">On May 1, 2020 (the &#8220;Loan Date&#8221;), the Company was granted the PPP Loan from Berkshire Bank in the aggregate amount of $<ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" id="Fact_20b7e2ce0a5e42f4a3876dec24ba1358" contextRef="c20200501_DebtInstrumentAxis_PaycheckProtectionProgramLoanMember" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">2.2</ix:nonFraction> million, pursuant to the PPP.&#160; Under the terms of the PPP, the PPP Loan may be forgiven to the extent that funds from the PPP Loan were used for payroll
    costs and costs to continue group health care benefits, as well as for interest on mortgage obligations incurred before February 15, 2020, rent under lease agreements in effect before February 15, 2020, utilities for which service began before February
    15, 2020, and interest on debt obligations incurred before February 15, 2020, subject to conditions and limitations provided in the CARES Act.&#160; At least 60% (under the PPP terms, as amended) of the proceeds from the PPP Loan needed to have been used
    for eligible payroll costs for the PPP Loan to be forgiven.</div>
</ix:continuation>
  <ix:continuation id="Text_74550e87b3164d439f6d55b507ae54af7" continuedAt="Text_74550e87b3164d439f6d55b507ae54af8">
<div style="line-height: 11.4pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_74550e87b3164d439f6d55b507ae54af8">
<div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">The PPP Loan, which was evidenced by a Note dated the Loan
      Date issued by the Company (the &#8220;Note&#8221;) in favor of Berkshire Bank, as lender (the &#8220;PPP Lender&#8221;), was scheduled to mature on </span><ix:nonNumeric name="us-gaap:LineOfCreditFacilityExpirationDate1" id="Fact_55bff91d464a40aab53da3bb7172cb29" contextRef="c20210101to20211231_DebtInstrumentAxis_PaycheckProtectionProgramLoanMember" format="ixt:datemonthdayyearen">May 1, 2022</ix:nonNumeric><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> and had a fixed interest rate of </span><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" id="Fact_7f25ad0a4ed649a69d327e2e0b66bb61" contextRef="c20211231_DebtInstrumentAxis_PaycheckProtectionProgramLoanMember" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">1.0</ix:nonFraction>%<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> per annum, accruing from the Loan Date and payable monthly.&#160; The Company submitted its PPP Loan forgiveness application in May 2021 to the SBA through Berkshire Bank and submitted the related loan
      necessity questionnaire in June 2021.&#160; On July 8, 2021, the Company received notifications from Berkshire Bank and the SBA that its PPP Loan (including all interest accrued thereon) of $</span><ix:nonFraction name="us-gaap:DebtInstrumentDecreaseForgiveness" id="Fact_7a434c3d4d0d4945ba097f779dcf8d0b" contextRef="c20210701to20210701_DebtInstrumentAxis_PaycheckProtectionProgramLoanMember" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">2.2</ix:nonFraction><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> million had been fully forgiven by the SBA and that the forgiveness payment date was July 1, 2021.&#160; No payments
      were due on the PPP Loan for six months from the date of first disbursement, and because a loan forgiveness application was submitted to the SBA within 10 months after the end of the covered period, no payments were due until the date on which the
      SBA remitted the loan forgiveness&#160; amount to the PPP Lender and interest accrued during the deferment period was included in the forgiveness amount.&#160; </span>The Note was unsecured and guaranteed by the SBA.&#160; <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">The forgiveness of the PPP Loan was reported as &#8220;Gain on forgiveness of long-term debt&#8221; in the Consolidated Statement of Operations during the year ended December 31, 2021.</span></div>
</ix:continuation></div>

  <div style="line-height: 11.4pt;"><br />
  </div>
<div><ix:nonNumeric name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="Text_da76e37629e04642b6231ec47d5ba588" contextRef="c20210101to20211231" escape="true" continuedAt="Text_da1753553703419b80a5329c00ca98e21">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">10. Stock incentive plans</div>
</ix:nonNumeric>

  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e21" continuedAt="Text_da1753553703419b80a5329c00ca98e22">
<div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e22" continuedAt="Text_da1753553703419b80a5329c00ca98e23">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Stock incentive
      plans</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">.</span>&#160; We currently have <ix:nonFraction name="tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" id="Fact_c0446810db7a4765a230800d354fb505" contextRef="c20210101to20211231" unitRef="U008" decimals="INF" scale="0" format="ixt-sec:numwordsen">two</ix:nonFraction>
    stock incentive plans: the 2005 Equity Incentive Plan and the 2014 Equity Incentive Plan, which provide for awards to executives, key employees, directors and consultants.&#160; The plans generally provide for awards in the form of: (i) incentive stock
    options, (ii) non-qualified stock options, (iii) restricted stock, (iv) restricted stock units (which may include performance-based vesting), (v) stock appreciation rights or (vi) limited stock appreciation rights.&#160; Awards granted under these plans
    have exercise prices equal to <ix:nonFraction name="tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" id="Fact_a6fffe9626ed4af9bc03b7667207685a" contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">100</ix:nonFraction>% of the fair market value of the common stock at the date of grant.&#160; Awards granted have a <ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" id="Fact_514f01e874f74d0bbe7aa99ba1cd74b5" contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember" format="ixt-sec:durwordsen">ten-year</ix:nonNumeric> term and generally vest over a <ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Fact_3e74fe5487d649b29df7fa4a57066032" contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MinimumMember" format="ixt-sec:durwordsen">two-year</ix:nonNumeric>
    to <ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Fact_08cee7a0457145db95337e8c6dc85b79" contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MaximumMember" format="ixt-sec:durwordsen">five-year</ix:nonNumeric> period, unless automatically accelerated for certain defined events.&#160; As of May 2014, no new awards may be made under the 2005
    Equity Incentive Plan.&#160; Under our 2014 Equity Incentive Plan, as amended in May 2020, we are authorized to grant awards of up to <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" id="Fact_462b36ee871a45ffa76d3f5b33c5cf1b" contextRef="c20211231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">2,200,000</ix:nonFraction>
    shares of TransAct common stock.&#160; At December 31, 2021, <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" id="Fact_f1b29437f19248a4b76e4e80a6be29c6" contextRef="c20211231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">611,652</ix:nonFraction> shares of common stock remained available for issuance under the 2014 Equity Incentive Plan.</div>
</ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e23" continuedAt="Text_da1753553703419b80a5329c00ca98e24">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e24" continuedAt="Text_da1753553703419b80a5329c00ca98e25">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Under the assumptions indicated below, the weighted-average per share fair value of stock option grants for 2021 and 2020 was $<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" id="Fact_73404a201f5a4a6d88c0d36571ed7ac0" contextRef="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">5.41</ix:nonFraction> and $<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" id="Fact_7e49c77882124d5abf93105e24707e19" contextRef="c20201231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">3.19</ix:nonFraction>, respectively.&#160; We also issued
    restricted stock units for certain executives and directors that vest over a specified period of time, and in some instances require achieving certain performance metrics.&#160; The weighted-average per share fair value of these restricted stock units was $<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" id="Fact_8974ab6f05554141bef9df358bb02748" contextRef="c20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">10.27</ix:nonFraction> and $<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" id="Fact_0e536b7ad2574d2d94844ed115408b17" contextRef="c20201231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">9.77</ix:nonFraction> in 2021 and 2020, respectively.</div>
</ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e25" continuedAt="Text_da1753553703419b80a5329c00ca98e26">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e26" continuedAt="Text_da1753553703419b80a5329c00ca98e27"><ix:nonNumeric name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" id="Text_443bc1fe568e41aa8f39dc0d1190791a" contextRef="c20210101to20211231" escape="true" continuedAt="Text_ef7fac2daaa44ab89a7572dbf29ce3a21">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The table below indicates the key assumptions used in the option valuation calculations for options granted in 2021 and 2020 and a discussion of our
    methodology for developing each of the assumptions used in the valuation model:</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e27" continuedAt="Text_da1753553703419b80a5329c00ca98e28"><ix:continuation id="Text_ef7fac2daaa44ab89a7572dbf29ce3a21" continuedAt="Text_ef7fac2daaa44ab89a7572dbf29ce3a22">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e28" continuedAt="Text_da1753553703419b80a5329c00ca98e29"><ix:continuation id="Text_ef7fac2daaa44ab89a7572dbf29ce3a22">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Expected option term (in years)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" id="Fact_4f5d62f51f774ba7850beaeddb73a635" contextRef="c20210101to20211231_PlanNameAxis_EquityIncentivePlan2014Member" format="ixt-sec:duryear">6.9</ix:nonNumeric></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" id="Fact_897eba36fe294229a7172dcaefea987d" contextRef="c20200101to20201231_PlanNameAxis_EquityIncentivePlan2014Member" format="ixt-sec:duryear">7.0</ix:nonNumeric></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Expected volatility</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" id="Fact_1b8b7ec97213480391110fdecc896dfb" contextRef="c20210101to20211231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">50.5</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" id="Fact_764d6819fb0d4b5e811e38b6ea28615b" contextRef="c20200101to20201231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">41.7</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Risk-free interest rate</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" id="Fact_e022b718c2484b8ea135fb30d1185643" contextRef="c20210101to20211231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">1.2</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" id="Fact_6eec17bf8e244bf3be88a9231d66d363" contextRef="c20200101to20201231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">0.9</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Dividend yield</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" id="Fact_89e9fdd7bb6b41db8545dee7679eb896" contextRef="c20210101to20211231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">0.0</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" id="Fact_e6b85abdea584aa48b8e365341b01ef8" contextRef="c20200101to20201231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">0.0</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e29" continuedAt="Text_da1753553703419b80a5329c00ca98e210">
<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e210" continuedAt="Text_da1753553703419b80a5329c00ca98e211">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Expected Option
      Term</span> - This is the weighted average period of time over which the options granted are expected to remain outstanding giving consideration to our historical exercise patterns.&#160; Options granted have a maximum term of <ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" id="Fact_2e2e4600bf51437596bca38e2f874805" contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member" format="ixt-sec:durwordsen">ten years</ix:nonNumeric> and an increase in the expected term will increase compensation expense.</div>
</ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e211" continuedAt="Text_da1753553703419b80a5329c00ca98e212">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e212" continuedAt="Text_da1753553703419b80a5329c00ca98e213">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Expected Volatility</span>
    &#8211; The stock volatility for each grant is measured using the weighted average of historical daily price changes of our common stock over the most recent period approximately equal to the expected option term of the grant.&#160; An increase in the expected
    volatility factor will increase compensation expense.</div>
</ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e213" continuedAt="Text_da1753553703419b80a5329c00ca98e214">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e214" continuedAt="Text_da1753553703419b80a5329c00ca98e215">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Risk-Free Interest
      Rate</span> - This is the U.S. Treasury rate in effect at the time of grant having a term approximately equal to the expected term of the option.&#160; An increase in the risk-free interest rate will increase compensation expense.</div>
</ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e215" continuedAt="Text_da1753553703419b80a5329c00ca98e216">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e216" continuedAt="Text_da1753553703419b80a5329c00ca98e217">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Dividend Yield</span>
    &#8211;The dividend yield is calculated by dividing the annual dividend declared per common share by the weighted average market value of our common stock on the date of grant. An increase in the dividend yield will decrease compensation expense.</div>
</ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e217" continuedAt="Text_da1753553703419b80a5329c00ca98e218">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-17</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>
<div><ix:continuation id="Text_da1753553703419b80a5329c00ca98e218" continuedAt="Text_da1753553703419b80a5329c00ca98e219">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">For 2021 and 2020, we recorded $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" id="Fact_47f917c833f6479ab798d5d8e0dd67dc" contextRef="c20210101to20211231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">1.2</ix:nonFraction> million and $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" id="Fact_cfce5c865d5044c39f643ca03b676a8a" contextRef="c20200101to20201231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">0.9</ix:nonFraction> million of share-based compensation expense, respectively, included primarily in general and administrative expense in our Consolidated Statements of
    Operations.&#160; We also recorded income tax benefits of $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" id="Fact_c44bfe089eac4c55a134298379de1df3" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">265</ix:nonFraction> thousand and $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" id="Fact_3494eb034938410b808da608a01a576d" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">193</ix:nonFraction> thousand in 2021 and 2020, respectively, related to such share-based compensation.&#160; At December 31, 2021,
    these benefits are recorded as a deferred tax asset in the Consolidated Balance Sheets.</div>
</ix:continuation>

  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e219" continuedAt="Text_da1753553703419b80a5329c00ca98e220">
<div style="text-align: left; line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e220" continuedAt="Text_da1753553703419b80a5329c00ca98e221"><ix:nonNumeric name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="Text_629fd486a6bb45a4a9c5750f6f4cd8a8" contextRef="c20210101to20211231" escape="true" continuedAt="Text_8f5ee0f54d6e4a4d99a57ec02ca036971">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Equity award activity in the 2005 Equity Incentive Plan and the 2014 Equity Incentive Plan is summarized below:</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e221" continuedAt="Text_da1753553703419b80a5329c00ca98e222"><ix:continuation id="Text_8f5ee0f54d6e4a4d99a57ec02ca036971" continuedAt="Text_8f5ee0f54d6e4a4d99a57ec02ca036972">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e222" continuedAt="Text_da1753553703419b80a5329c00ca98e223"><ix:continuation id="Text_8f5ee0f54d6e4a4d99a57ec02ca036972" continuedAt="Text_8f5ee0f54d6e4a4d99a57ec02ca036973">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Stock Options</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Restricted Stock Units</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Number of Shares</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> Average Price*</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Number of Units</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Average Price**</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Outstanding at December 31, 2020</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" id="Fact_3c660fd4f904452eb241379a5f8277b6" contextRef="c20201231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">1,287,605</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" id="Fact_eda0294a1e184539a4e55e0cc64a32e4" contextRef="c20201231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">8.98</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" id="Fact_d5114355604e40c683f069058e93991f" contextRef="c20201231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">110,550</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" id="Fact_4532d7bb5d5e49a59bc227be7b49e3c3" contextRef="c20201231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">10.30</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Granted</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" id="Fact_1b3d7f5458f74f59b6751628de172f28" contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">153,000</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" id="Fact_11f7c7940cb447f4be4b89111a161e61" contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">10.55</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" id="Fact_c111bb39a9cc46aba4cca2dbacb1d937" contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">95,200</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" id="Fact_3c1bc3bf75ae42809b901affb2e39d83" contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">10.27</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Exercised</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" id="Fact_7479229f4aca4ad28c0da55fafff54c2" contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">97,000</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" id="Fact_341af3cccf6b4c90b6dacfd466c2a72a" contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">8.47</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" id="Fact_3f2ff4593b5c4752a5df4c0df073013c" contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">50,525</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" id="Fact_a9c83316b680472f8697b2f43948f41d" contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">10.29</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Forfeited</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" id="Fact_733981a4b40849cd9901b868884a6067" contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">45,750</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" id="Fact_4d318218b4c8419da5729ae5d3a44d0d" contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">8.87</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" id="Fact_b1e117fc6966409887e96dfb8249c706" contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="INF" scale="0" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" id="Fact_f42cd3a3f3ca4efcab1a34623971b4b0" contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="0" scale="0" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Expired</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" id="Fact_e4a28318d41a4789b83387b19f58332b" contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">28,500</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" id="Fact_7fa9fff2f815438785e751a7709e7b83" contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">10.22</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" id="Fact_042f482f5bb64aebb4ce60466dd45588" contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="INF" scale="0" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" id="Fact_3f635a049bd440c699554704b596c0f4" contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="0" scale="0" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 4px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Outstanding at December 31, 2021</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" id="Fact_88fb2dba800b474c9d09c6260d4132a1" contextRef="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">1,269,355</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" id="Fact_58c63cc0cfda4df393fec3b461f57817" contextRef="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">9.18</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" id="Fact_14cc96933fb0409f815add75fef77931" contextRef="c20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">155,225</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" id="Fact_fbd2499553ba4833a79eeb4cc73d1d0d" contextRef="c20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">10.28</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e223" continuedAt="Text_da1753553703419b80a5329c00ca98e224"><ix:continuation id="Text_8f5ee0f54d6e4a4d99a57ec02ca036973" continuedAt="Text_8f5ee0f54d6e4a4d99a57ec02ca036974">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e224" continuedAt="Text_da1753553703419b80a5329c00ca98e225"><ix:continuation id="Text_8f5ee0f54d6e4a4d99a57ec02ca036974" continuedAt="Text_8f5ee0f54d6e4a4d99a57ec02ca036975">
<table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">*</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:footnote id="Foot_02c9893d755d46e09c2c806bd0739d14" footnoteRole="http://www.xbrl.org/2003/role/footnote" xml:lang="en-US">weighted average exercise price per share</ix:footnote></div>
        </td>

  </tr>


</table>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e225" continuedAt="Text_da1753553703419b80a5329c00ca98e226"><ix:continuation id="Text_8f5ee0f54d6e4a4d99a57ec02ca036975">
<table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">**</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:footnote id="Foot_42b55853fb414ccdba8ab0b20970caa0" footnoteRole="http://www.xbrl.org/2003/role/footnote" xml:lang="en-US">weighted average grant stock price per share</ix:footnote></div>
        </td>

  </tr>


</table>
</ix:continuation></ix:continuation>

  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e226" continuedAt="Text_da1753553703419b80a5329c00ca98e227">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e227" continuedAt="Text_da1753553703419b80a5329c00ca98e228"><ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" id="Text_b4ce87dfa5d941c482369c20af06926f" contextRef="c20210101to20211231" escape="true" continuedAt="Text_585ac13d10784fb5b18ef93e2cb6d7241">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following summarizes information about equity awards outstanding that are vested and expect to vest and equity awards that are exercisable at
    December 31, 2021:</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e228" continuedAt="Text_da1753553703419b80a5329c00ca98e229"><ix:continuation id="Text_585ac13d10784fb5b18ef93e2cb6d7241" continuedAt="Text_585ac13d10784fb5b18ef93e2cb6d7242">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e229" continuedAt="Text_da1753553703419b80a5329c00ca98e230"><ix:continuation id="Text_585ac13d10784fb5b18ef93e2cb6d7242" continuedAt="Text_585ac13d10784fb5b18ef93e2cb6d7243">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="14">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Equity Awards Vested and Expected to Vest</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="14">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Equity Awards That Are Exercisable</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Awards</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Average Price*</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Aggregate Intrinsic Value</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Remaining Term**</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Awards</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Average Price*</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Aggregate Intrinsic Value</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Remaining Term**</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 20%; background-color: #CCEEFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Stock Options</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" id="Fact_c627e48a6a4b4cc8b69556889b939989" contextRef="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">1,269,355</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" id="Fact_46445371553641de90936e45fc92e64c" contextRef="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">9.18</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" id="Fact_b48e5d24f0974e24a1cebdca19760b60" contextRef="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,662</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" id="Fact_2200dbb582a34135a33a33e7991a39fc" contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" format="ixt-sec:duryear">5.6</ix:nonNumeric></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" id="Fact_4d55c6a4cdbe4f73b0aa586d97a6d276" contextRef="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">856,723</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" id="Fact_86c7680febb546969024d9eb2d4b8462" contextRef="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">9.00</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" id="Fact_36caa33be3164d959eb13ca6caa70d8c" contextRef="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,982</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" id="Fact_01fe42f5d6f34989a866fbd5509a91ea" contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" format="ixt-sec:duryear">4.1</ix:nonNumeric></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 20%;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Restricted stock units</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" id="Fact_864529d456124f059f0316dbe6bcaa9f" contextRef="c20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">132,518</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" id="Fact_49be8004ba664c0eaf328ac4dc33e44c" contextRef="c20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="0" scale="0" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" id="Fact_6280f3d2021b4e849b3d683fb87c595f" contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,444</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonNumeric name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" id="Fact_40d1567dd34c48a8b2ddc99b368df7e7" contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" format="ixt-sec:duryear">2.2</ix:nonNumeric></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e230" continuedAt="Text_da1753553703419b80a5329c00ca98e231"><ix:continuation id="Text_585ac13d10784fb5b18ef93e2cb6d7243" continuedAt="Text_585ac13d10784fb5b18ef93e2cb6d7244">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e231" continuedAt="Text_da1753553703419b80a5329c00ca98e232"><ix:continuation id="Text_585ac13d10784fb5b18ef93e2cb6d7244" continuedAt="Text_585ac13d10784fb5b18ef93e2cb6d7245">
<table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">*</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:footnote id="Foot_8e847a402d8648cd96b6309063cbbf53" footnoteRole="http://www.xbrl.org/2003/role/footnote" xml:lang="en-US">weighted average exercise price per share</ix:footnote></div>
        </td>

  </tr>


</table>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e232" continuedAt="Text_da1753553703419b80a5329c00ca98e233"><ix:continuation id="Text_585ac13d10784fb5b18ef93e2cb6d7245">
<table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">**</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:footnote id="Foot_d955d8fd57964b2cbb978471388690e9" footnoteRole="http://www.xbrl.org/2003/role/footnote" xml:lang="en-US">weighted-average contractual remaining term in years</ix:footnote></div>
        </td>

  </tr>


</table>
</ix:continuation></ix:continuation>

  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e233" continuedAt="Text_da1753553703419b80a5329c00ca98e234">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e234" continuedAt="Text_da1753553703419b80a5329c00ca98e235">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Shares that are issued upon exercise of employee stock awards are newly issued shares and not issued from treasury stock.&#160; As of
    December 31, 2021, unrecognized compensation cost related to non-vested equity awards granted under our stock incentive plans is approximately
    $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" id="Fact_7c2d12fac46841259de7eb70a37dd587" contextRef="c20211231" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">2.1</ix:nonFraction> million, which is expected to be recognized over a weighted average period of <ix:nonNumeric name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="Fact_0c0dc39dc4c84e51a9b9aa7d29e31b28" contextRef="c20210101to20211231" format="ixt-sec:duryear">2.4</ix:nonNumeric> years.</div>
</ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e235" continuedAt="Text_da1753553703419b80a5329c00ca98e236">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_da1753553703419b80a5329c00ca98e236">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The total fair value of awards vested was $<ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" id="Fact_659a6b38d9824abdb54aaf4f8a3077bb" contextRef="c20210101to20211231" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" id="Fact_3f9f9865ab944f819bb2b7e1a684cfa6" contextRef="c20200101to20201231" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">1.7</ix:nonFraction></ix:nonFraction> million during both the years ended December 31, 2021 and 2020.&#160; The total intrinsic value (which is the amount by which the stock price exceeded the exercise price on the date of exercise) of stock options
    exercised during the years ended December 31, 2021 and 2020 was $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" id="Fact_2430d9ae81d94200a5320597cb1bcafa" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">268</ix:nonFraction> thousand and $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" id="Fact_d1878fca51644e6ca737dd149d7747d2" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">174</ix:nonFraction> thousand, respectively, and cash received from option exercises
    was $<ix:nonFraction name="us-gaap:ProceedsFromStockOptionsExercised" id="Fact_acd1efc0f38d4ca8838cf640512cd886" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">436</ix:nonFraction> thousand and $<ix:nonFraction name="us-gaap:ProceedsFromStockOptionsExercised" id="Fact_205b07d9b52d4c0c93da30c43500c978" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">375</ix:nonFraction> thousand in
    2021 and 2020, respectively.&#160; <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" id="Fact_310ca98fc6d74e57abd4d55c7ac35830" contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">97,000</ix:nonFraction>
    and <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" id="Fact_f864a7206669466b80d21877a3c3b3a4" contextRef="c20200101to20201231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">62,500</ix:nonFraction> stock options were exercised during the year ended December 31, 2021 and 2020, respectively.&#160; We recorded a realized tax provision in 2021 and 2020 from
    equity-based awards of $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" id="Fact_6b76a561701c41f1b0c527dd4853d7e1" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">35</ix:nonFraction> thousand and $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" id="Fact_a89d63edc3804fcf82bdd27708259d54" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">14</ix:nonFraction>
    thousand, respectively, related to options exercised.</div>
</ix:continuation></div>

  <div style="line-height: 11.4pt;"><br />
  </div>
<div><ix:nonNumeric name="us-gaap:IncomeTaxDisclosureTextBlock" id="Text_762da0a85f5b417aa5d8f3d477394e38" contextRef="c20210101to20211231" escape="true" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e575171">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">11. Income taxes</div>
</ix:nonNumeric>

  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e575171" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e575172">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e575172" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e575173"><ix:nonNumeric name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="Text_b61312c964cb467286cd92aa5f7655ca" contextRef="c20210101to20211231" escape="true" continuedAt="Text_704b277ac61c41e2beb74193140b93641">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The components of the income tax benefit are as follows:</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e575173" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e575174"><ix:continuation id="Text_704b277ac61c41e2beb74193140b93641" continuedAt="Text_704b277ac61c41e2beb74193140b93642">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e575174" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e575175"><ix:continuation id="Text_704b277ac61c41e2beb74193140b93642">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Current:</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Federal</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CurrentFederalTaxExpenseBenefit" id="Fact_2036a8e46f1641f9bf4c03b4508d6359" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">26</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:CurrentFederalTaxExpenseBenefit" id="Fact_95d45f9296314278ae2ff005c24fd012" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">2,141</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">State</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" id="Fact_343fb1f8a6fe4a2b912ae016576248f6" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">51</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" id="Fact_5301c06c08e74a9cbd7689082bf4becc" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">17</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Foreign</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CurrentForeignTaxExpenseBenefit" id="Fact_4e81d74d439e4439ba7031a5e97d67ab" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:CurrentForeignTaxExpenseBenefit" id="Fact_4c9125d6f49c48b597fa96153c4be0c5" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">48</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" id="Fact_d815ce00fe434a0cb6171c31a849e5d3" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">79</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" id="Fact_f0548f0a39174523b90374c7b408ad1c" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">2,172</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred:</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Federal</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" id="Fact_a9ecf342f07b4b6bb4d501cdd1252d5a" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">2,086</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" id="Fact_a2b884195254430bbdd574edb58cba2b" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">483</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">State</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" id="Fact_3a28d277ca5c43f7a7e7911d7347b7ac" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">62</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" id="Fact_e43a42386ad444b586bd7e438a1813bb" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">36</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Foreign</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" id="Fact_e828246ba6f34286baed84131ac3ecd0" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">2</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" id="Fact_9f9cc403ba51444a8669807be5012d47" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">152</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" id="Fact_bedb0f2f8e1f49cc97a9b70b50c09925" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">2,150</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" id="Fact_4bfc5e34f8914050aae79191e657746c" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">367</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Income tax benefit</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_93d8e46c25bc4d899e560d353260ff8c" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">2,071</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_124d14cce1d44e26a1b35a1e78b8bb6c" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">2,539</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>


</table>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e575175" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e575176">
<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e575176" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e575177">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Our effective tax rates were </span><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" id="Fact_d9ecbd78fb9c4f85baa9075b7ef9019a" contextRef="c20210101to20211231" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">33.3</ix:nonFraction>%<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> and </span><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" id="Fact_67707c0d504b4042a233249ff3b89876" contextRef="c20200101to20201231" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">31.1</ix:nonFraction>%<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> for </span>2021<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> and </span>2020<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">, respectively.&#160; The tax benefit recorded for 2021 included the recognition of the gain on the forgiveness of the PPP Loan which is not taxable.&#160; </span>The effective tax rate for 2020 included the impact of the net operating
    loss (&#8220;NOL&#8221;) that we carried back to prior years.&#160; The CARES Act permits NOLs incurred in 2018, 2019 and 2020 to be carried back to each of the five preceding taxable years to generate a refund of previously paid income taxes.&#160; We generated a NOL for
    2020 which was carried back to tax years that had a federal statutory tax rate of <ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" id="Fact_21d52b3bcf9847baaa2330120d8968c6" contextRef="c20170101to20171231" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">34</ix:nonFraction>% compared to <ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" id="Fact_2386bc32d901475795639ad9ede03e53" contextRef="c20210101to20211231" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">21</ix:nonFraction>% in 2020 and resulted in a tax refund of $2.2 million that was received in October 2021 causing a significant reduction in prepaid income taxes at December 31, 2021 compared to
    December 31, 2020.</div>
</ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e575177" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e575178">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-18</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>
<div><ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e575178" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e575179">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">At December 31, 2021, we
    have $<ix:nonFraction name="us-gaap:OperatingLossCarryforwards" id="Fact_8273e21bc0f149909f8a081a65189f74" contextRef="c20211231_IncomeTaxAuthorityAxis_DomesticCountryMember" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">2.0</ix:nonFraction> million of federal net operating loss carryforwards and $<ix:nonFraction name="us-gaap:OperatingLossCarryforwards" id="Fact_6a3d18b46e3e487b97a14f0e5bc09061" contextRef="c20211231_IncomeTaxAuthorityAxis_StateAndLocalJurisdictionMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">78</ix:nonFraction> thousand of state net operating loss carryforwards, $<ix:nonFraction name="us-gaap:TaxCreditCarryforwardAmount" id="Fact_11756a0d9e8c49dc9263fbfb31a6ecbe" contextRef="c20211231_TaxCreditCarryforwardAxis_ResearchMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">901</ix:nonFraction> thousand in R&amp;D credit
    carryforwards, and <ix:nonFraction name="us-gaap:TaxCreditCarryforwardAmount" id="Fact_62ff675ce3f94013affbc60539306fae" contextRef="c20211231_IncomeTaxAuthorityAxis_StateAndLocalJurisdictionMember" unitRef="U001" decimals="-3" scale="3" format="ixt-sec:numwordsen">no</ix:nonFraction> state tax credit carryforwards.&#160; Foreign loss before taxes was $<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" id="Fact_605936305474420e830611155db1d333" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">404</ix:nonFraction> thousand and $<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" id="Fact_2e854583b76a45d0b15a69c9dd6db44f" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">468</ix:nonFraction> thousand in 2021 and 2020, respectively.</div>
</ix:continuation>

  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e575179" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751710">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751710" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751711"><ix:nonNumeric name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="Text_623cf2a1daa64270a86c67eb451df3ce" contextRef="c20210101to20211231" escape="true" continuedAt="Text_3d258a6597464ba8baa8f2abea6e59bf1">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred income taxes arise from temporary differences between the tax basis of assets and liabilities and their reported amounts in the Consolidated
    Financial Statements.&#160; Our deferred tax assets and liabilities were comprised of the following:</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751711" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751712"><ix:continuation id="Text_3d258a6597464ba8baa8f2abea6e59bf1" continuedAt="Text_3d258a6597464ba8baa8f2abea6e59bf2">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751712" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751713"><ix:continuation id="Text_3d258a6597464ba8baa8f2abea6e59bf2">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
          <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred tax assets:</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Federal net operating losses</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic" id="Fact_16abadb0f1294b1f970a723503c7a6a2" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,976</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic" id="Fact_53f200a5d0024caf83e4585e5bf6d941" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Foreign net operating losses</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign" id="Fact_88edf2c61b3546b59016c35a82b1501c" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">624</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign" id="Fact_2ce8eadea0144f5c8efeca1a26d4f9bf" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">563</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Depreciation</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements" id="Fact_e8ba781de59a4fe7afff21db820e3381" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">306</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements" id="Fact_a7b4c5b69803432bbbd430b0855c6b80" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">302</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inventory reserves</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsInventory" id="Fact_2bfcfd9994e14c7fa32858ce3baddcfc" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">710</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsInventory" id="Fact_f34b49bfd4a84cd38f897b50e31cc593" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">719</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred revenue</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsDeferredIncome" id="Fact_e152ed207a1c4f7a8f8f8e6ed6d12294" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">24</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsDeferredIncome" id="Fact_20080afb7cfb45eeb9063edd51d5293c" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">47</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Warranty reserve</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" id="Fact_247a2ce379e14881b2a9efa0751caa24" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">22</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" id="Fact_cc6b0011956c4ec3822fa1fefa9b45cc" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">31</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Stock compensation expense</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" id="Fact_3a1365cd768a4dc58913edb95ef73754" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">796</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" id="Fact_228807ecf1ee49179377e6b54c9da122" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">731</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other accrued compensation</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" id="Fact_39ae37214c1d450cb695314f03d5928d" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">308</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" id="Fact_d984ef766ec54eccb3e03bda1ca61dc0" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">388</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">R&amp;D credit carryforward</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" id="Fact_faeb8041d5254e48ab65f9e32b5a0211" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">901</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" id="Fact_7c2037576786491faffb0b6a7d83cbcf" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">460</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other liabilities and reserves</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOther" id="Fact_022d50737d954193bdfa4b8e8c600692" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">250</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsOther" id="Fact_a0aeabd894fc459c897bcb8b4dd81770" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">394</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gross deferred tax assets</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsGross" id="Fact_5a6568a0e93f467c864f10fec24ed765" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">5,917</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsGross" id="Fact_dfbb9f7b89d7476faedf437f90a7451f" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">3,635</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Valuation allowance</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" id="Fact_e2ec8936c16c4b49bd405fbc676f9344" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">733</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:DeferredTaxAssetsValuationAllowance" id="Fact_e3d4b76e478447dc96af1a9e951e1127" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">659</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -18pt; margin-left: 45pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net deferred tax assets</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" id="Fact_6ba1b36eaefc48f8bace56895ae8547a" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">5,184</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsNet" id="Fact_b6aa56ca0b2343db94ce5695b26048ac" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,976</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred tax liabilities:</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesOther" id="Fact_bd1cff22b6d843a59ae370875afe1fea" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">43</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesOther" id="Fact_a421d3416220436fbe281ff02d00ef6a" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">37</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net deferred tax liabilities</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxLiabilities" id="Fact_4733597541114f6eb29d30185eeb3ff9" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">43</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxLiabilities" id="Fact_ec0fa876b4ac41b7acfb7bbdb507524c" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">37</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total net deferred tax assets</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsLiabilitiesNet" id="Fact_dfd25beab9a44c60bbfdc2bd812172cb" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">5,141</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredTaxAssetsLiabilitiesNet" id="Fact_6680b54e4b5743958a34371d7ae0b0d1" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,939</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751713" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751714">
<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751714" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751715"><ix:nonNumeric name="us-gaap:SummaryOfValuationAllowanceTextBlock" id="Text_ee4413c3e26a485394a68ad2b5355c39" contextRef="c20210101to20211231" escape="true" continuedAt="Text_9a6f86eeecc44ba19942d1a5c489b5621">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">As of December 31, 2021, a valuation allowance
    of $<ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesBalance" id="Fact_b698a9eae4d640b2811fb11fcb57880d" contextRef="c20211231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">733</ix:nonFraction> thousand has been established for foreign net operating loss carryforwards that are not expected to be used. The following table
    summarizes the activity recorded in the valuation allowance on the deferred tax assets:</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751715" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751716"><ix:continuation id="Text_9a6f86eeecc44ba19942d1a5c489b5621" continuedAt="Text_9a6f86eeecc44ba19942d1a5c489b5622">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751716" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751717"><ix:continuation id="Text_9a6f86eeecc44ba19942d1a5c489b5622">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, beginning of period</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesBalance" id="Fact_2c731a8b0e1a4057b9fe7b43cd15b109" contextRef="c20201231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">659</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesBalance" id="Fact_3afaa3339c194866b995a70f35dc2bbb" contextRef="c20191231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">444</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Additions charged to income tax provision</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" id="Fact_c96fd23149cf46319efd464890de4128" contextRef="c20210101to20211231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">74</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" id="Fact_6b6e98f0d27d4220bc0b95dc11a3e286" contextRef="c20200101to20201231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">215</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, end of period</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesBalance" id="Fact_9c0aedd2d3664800a8c014d899750c65" contextRef="c20211231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">733</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:ValuationAllowancesAndReservesBalance" id="Fact_6e39d5d18d5543fca06e7f6c847ae9a9" contextRef="c20201231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">659</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751717" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751718">
<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751718" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751719"><ix:nonNumeric name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="Text_8fd97212ddee4af293ac0c58bf87ba7f" contextRef="c20210101to20211231" escape="true" continuedAt="Text_75d05ab05cd84b398a40a7210af5ca001">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Differences between the U.S. statutory federal income tax rate and our effective income tax rate are analyzed below:</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751719" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751720"><ix:continuation id="Text_75d05ab05cd84b398a40a7210af5ca001" continuedAt="Text_75d05ab05cd84b398a40a7210af5ca002">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751720" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751721"><ix:continuation id="Text_75d05ab05cd84b398a40a7210af5ca002">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Federal statutory rate</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" id="Fact_c27e506ae06942bb95196c2c8c14b392" contextRef="c20210101to20211231" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">21.0</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" id="Fact_697628854cbf4cf79f7036693c03dfd5" contextRef="c20200101to20201231" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">21.0</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">PPP loan forgiveness</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion" id="Fact_d68268f9b172477b9497325cddbffaaa" contextRef="c20210101to20211231" unitRef="U007" decimals="3" sign="-" scale="-2" format="ixt:numdotdecimal">7.4</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion" id="Fact_4f0f94540a6740deb181a456421a16ac" contextRef="c20200101to20201231" unitRef="U007" decimals="3" scale="-2" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">R&amp;D credit</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" id="Fact_61285873dfcf4e5c9475e037e9a48d6f" contextRef="c20210101to20211231" unitRef="U007" decimals="3" sign="-" scale="-2" format="ixt:numdotdecimal">7.1</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" id="Fact_5faaa5ddfda54440906c7a22ead561b8" contextRef="c20200101to20201231" unitRef="U007" decimals="3" sign="-" scale="-2" format="ixt:numdotdecimal">4.2</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Stock award excess tax benefit</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" id="Fact_2aabf4d620ed4d7183ffb68748d41fbe" contextRef="c20210101to20211231" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">0.3</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" id="Fact_78befc5f9d8941d7a1fa7f3056b6a2ea" contextRef="c20200101to20201231" unitRef="U007" decimals="3" sign="-" scale="-2" format="ixt:numdotdecimal">0.3</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">State income taxes, net of federal income taxes</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" id="Fact_e4fc2ac783e241ceafadafbaa33b07ca" contextRef="c20210101to20211231" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">0.1</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" id="Fact_48b0a96329bf4d4e954a0e01a50392d0" contextRef="c20200101to20201231" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">0.2</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">U.S. corporate tax rate change</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" id="Fact_105a0258e7d54ca8944ec95cccdd7725" contextRef="c20210101to20211231" unitRef="U007" decimals="3" scale="-2" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" id="Fact_fd2a462f7d0241cb91b8a57f5e4a8116" contextRef="c20200101to20201231" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">9.5</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Business meals and entertainment</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" id="Fact_b3766e30d77f409bb7edf52c8405b9d5" contextRef="c20210101to20211231" unitRef="U007" decimals="3" sign="-" scale="-2" format="ixt:numdotdecimal">0.2</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" id="Fact_b43694a9b111476dac61eaa557bf97fd" contextRef="c20200101to20201231" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">0.1</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Miscellaneous permanent items</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="tact:EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" id="Fact_27d2de1061e242efbb1855d2d0e23a26" contextRef="c20210101to20211231" unitRef="U007" decimals="3" sign="-" scale="-2" format="ixt:numdotdecimal">0.3</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="tact:EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" id="Fact_2faac2b8b3864664ad0c88e2521463dd" contextRef="c20200101to20201231" unitRef="U007" decimals="3" scale="-2" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Uncertain tax positions</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies" id="Fact_11fcdd9a2103421189354894b8a6b985" contextRef="c20210101to20211231" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">0.4</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies" id="Fact_4fdd3d2901a04ddcb27500a4f7f96654" contextRef="c20200101to20201231" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">0.2</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Stock option cancellations</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" id="Fact_29d5ab4035ec4909a179751cd516b2f1" contextRef="c20210101to20211231" unitRef="U007" decimals="3" sign="-" scale="-2" format="ixt:numdotdecimal">0.6</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" id="Fact_451e841a78be4a94ac7eb7c25f11bf52" contextRef="c20200101to20201231" unitRef="U007" decimals="3" sign="-" scale="-2" format="ixt:numdotdecimal">0.5</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Valuation allowance and tax accruals</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" id="Fact_7a43d578393f435e867330f188869430" contextRef="c20210101to20211231" unitRef="U007" decimals="3" sign="-" scale="-2" format="ixt:numdotdecimal">1.2</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" id="Fact_876e978cc2c34470b2697d41ee6b4893" contextRef="c20200101to20201231" unitRef="U007" decimals="3" sign="-" scale="-2" format="ixt:numdotdecimal">2.6</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" id="Fact_2e4b4328e37d4373b2ec9196599be0df" contextRef="c20210101to20211231" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">0.1</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" id="Fact_466341e60db24871b4758d2704b19a28" contextRef="c20200101to20201231" unitRef="U007" decimals="3" sign="-" scale="-2" format="ixt:numdotdecimal">0.3</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Effective tax rate</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" id="Fact_fabf5bb12ee245b2adfdb62b7c1600de" contextRef="c20210101to20211231" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">33.3</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" id="Fact_cbb530500d6e483eb38e0b1f4c401197" contextRef="c20200101to20201231" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">31.1</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751721" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751722">
<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br />
  </div>
</ix:continuation></div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-19</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>
<div><ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751722" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751723"><ix:nonNumeric name="us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" id="Text_716c1805467e49bea464193a16518b0f" contextRef="c20210101to20211231" escape="true" continuedAt="Text_b4439dc3aaac484c9f731ef01641efc01">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We had $<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" id="Fact_0f7e36bc85a54ec69f3d1e18b87d2dc4" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">144</ix:nonFraction> thousand and $<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" id="Fact_56c5ed7316f34096b1e4c95909467f51" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">121</ix:nonFraction> thousand of total gross unrecognized tax benefits at December 31, 2021
    and 2020, respectively that, if recognized, would favorably affect the effective income tax rate in any future periods.&#160; We are not aware of
    any events that could occur within the next twelve months that could cause a significant change in the total amount of unrecognized tax benefits.&#160; A tabular reconciliation of the gross amounts of unrecognized tax benefits at the beginning and end of
    the year is as follows:</div>
</ix:nonNumeric></ix:continuation>

  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751723" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751724"><ix:continuation id="Text_b4439dc3aaac484c9f731ef01641efc01" continuedAt="Text_b4439dc3aaac484c9f731ef01641efc02">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751724" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751725"><ix:continuation id="Text_b4439dc3aaac484c9f731ef01641efc02">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, beginning of period</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" id="Fact_8f2b1b5c1eb94a1b97401ff3a48187d5" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">121</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" id="Fact_604526f3b95f43f2b4e9be9940533b33" contextRef="c20191231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">107</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Tax positions taken during the current period</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease" id="Fact_05627d71a55c4e0f8c31182fca9ac23f" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">47</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease" id="Fact_fda2dcbab2794f7a89da9b85ef286af4" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">41</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Lapse of statute of limitations</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" id="Fact_f525411033a440ceb278f80895b16c7f" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">24</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" id="Fact_acff6ec42fc24dc88ec2ecd84b5a3463" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">27</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, end of period</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" id="Fact_b127f9cda46d4561828782178ea3a790" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">144</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" id="Fact_4537ed9a74904e2eb9cefa2ad6534a20" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">121</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751725" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751726">
<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751726" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751727">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We expect $<ix:nonFraction name="us-gaap:DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" id="Fact_74feac78af694c46a668bf67bc3fc4c2" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">28</ix:nonFraction> thousand of
    the $<ix:nonFraction name="us-gaap:UnrecognizedTaxBenefits" id="Fact_28cba6a8d6d54b0db41493ec36ff8231" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">144</ix:nonFraction> thousand of unrecognized tax benefits will reverse in 2022 upon the expiration of the statute of limitations.</div>
</ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751727" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751728">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751728" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751729">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We recognize interest and penalties related to uncertain tax positions in the income tax provision.&#160; We have accrued interest and
    penalties related to uncertain tax positions of $<ix:nonFraction name="us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued" id="Fact_abbd5a6b117b442daeef52f308bf7e23" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">20</ix:nonFraction> thousand and $<ix:nonFraction name="us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued" id="Fact_d4deaf4cef524ef4a3a500b87470bad7" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">19</ix:nonFraction> thousand as of December 31, 2021 and 2020, respectively.</div>
</ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751729" continuedAt="Text_9d8fa96fcd2c4b549f3eb4e872e5751730">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_9d8fa96fcd2c4b549f3eb4e872e5751730">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We are subject to U.S. federal income tax as well as income tax of certain state and foreign jurisdictions.&#160; We have substantially
    concluded all U.S. federal income tax, state and local, and foreign tax matters through 2017.&#160; However, our federal tax returns for the years 2018 through 2021 remain open to examination. Various state and foreign tax jurisdiction tax years remain open
    to examination as well, though we believe that any additional assessment would be immaterial to the Consolidated Financial Statements.</div>
</ix:continuation></div>

  <div style="line-height: 11.4pt;"><br />
  </div>
<div><ix:nonNumeric name="us-gaap:EarningsPerShareTextBlock" id="Text_e8296c5992864d07bfb0bb75feff0aeb" contextRef="c20210101to20211231" escape="true" continuedAt="Text_e7c6b818901e4123ad548abd5bb99dd71">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">12. Earnings per share</div>
</ix:nonNumeric>

  <ix:continuation id="Text_e7c6b818901e4123ad548abd5bb99dd71" continuedAt="Text_e7c6b818901e4123ad548abd5bb99dd72">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_e7c6b818901e4123ad548abd5bb99dd72" continuedAt="Text_e7c6b818901e4123ad548abd5bb99dd73"><ix:nonNumeric name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="Text_9c1248e04f7c415cad93855f7da486ad" contextRef="c20210101to20211231" escape="true" continuedAt="Text_a27591681e194432a791aa2056f69d2d1">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Earnings per share was computed as follows (in thousands, except per share amounts):</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_e7c6b818901e4123ad548abd5bb99dd73" continuedAt="Text_e7c6b818901e4123ad548abd5bb99dd74"><ix:continuation id="Text_a27591681e194432a791aa2056f69d2d1" continuedAt="Text_a27591681e194432a791aa2056f69d2d2">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_e7c6b818901e4123ad548abd5bb99dd74" continuedAt="Text_e7c6b818901e4123ad548abd5bb99dd75"><ix:continuation id="Text_a27591681e194432a791aa2056f69d2d2">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net loss</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_b1cfb37121fd40bdaf3e26a10ce21675" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">4,145</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_81cf0afa10a946aca6e44d7a84cd9c11" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,630</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Shares:</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Basic:&#160; Weighted average common shares outstanding</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_154aa0b8975248c290ef4c3d1a75e0c7" contextRef="c20210101to20211231" unitRef="U002" decimals="-3" scale="3" format="ixt:numdotdecimal">9,298</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_367018237bb14b93b3e3f1febb01d66f" contextRef="c20200101to20201231" unitRef="U002" decimals="-3" scale="3" format="ixt:numdotdecimal">7,827</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Add:&#160; Dilutive effect of outstanding equity awards as determined by the treasury stock
              method</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" id="Fact_0c315bd2a5554a959f4902d78a33558f" contextRef="c20210101to20211231" unitRef="U002" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" id="Fact_dda2d87fa2414f6dabb2ac336ec1bbdf" contextRef="c20200101to20201231" unitRef="U002" decimals="-3" scale="3" format="ixt:zerodash">&#8211;</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Diluted:&#160; Weighted average common and common equivalent shares outstanding</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_787dd2d6df0c4c4bbfd01980f5641676" contextRef="c20210101to20211231" unitRef="U002" decimals="-3" scale="3" format="ixt:numdotdecimal">9,298</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_a9e7575f75ca45379d06482ce02c62b5" contextRef="c20200101to20201231" unitRef="U002" decimals="-3" scale="3" format="ixt:numdotdecimal">7,827</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net loss per common share:</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Basic</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_53940854cf194701bafd82f668ab692b" contextRef="c20210101to20211231" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.45</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_10aaee96312c4982904e39e8d613482b" contextRef="c20200101to20201231" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.72</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Diluted</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_d9dfd61fa13b4eb4b5517fb65b141792" contextRef="c20210101to20211231" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.45</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_882e8c06cbdf45cda4ede34d1c4af1c1" contextRef="c20200101to20201231" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.72</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>


</table>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_e7c6b818901e4123ad548abd5bb99dd75" continuedAt="Text_e7c6b818901e4123ad548abd5bb99dd76">
<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_e7c6b818901e4123ad548abd5bb99dd76">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The computation of diluted earnings per share excludes the effect of the potential exercise of stock awards, including stock options,
    restricted stock units and performance stock awards, when the average market price of the common stock is lower than the exercise price of the related stock award during the period.&#160; These outstanding stock awards are not included in the computation of
    diluted earnings per share because the effect would be anti-dilutive.&#160; Furthermore, in periods when a net loss is reported, such as 2021 and 2020, basic and diluted net loss per common share are calculated using the same method.&#160; Anti-dilutive stock
    awards excluded from the computation of earnings per dilutive share were <ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" id="Fact_eb6c651e329b4cf4b8b3e9af24fcc077" contextRef="c20210101to20211231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">391,000</ix:nonFraction> and <ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" id="Fact_d826c64daa344577a612a87653d78111" contextRef="c20200101to20201231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">1,284,000</ix:nonFraction> at December 31, 2021 and 2020, respectively.</div>
</ix:continuation></div>

  <div style="line-height: 11.4pt;"><br />
  </div>
<div><ix:nonNumeric name="us-gaap:TreasuryStockTextBlock" id="Text_afa424e1d2f745359b3dc0cccf9a8c42" contextRef="c20210101to20211231" escape="true" continuedAt="Text_d5600ea3302d414e9ba3c4553cc6429e1">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">13. Stock repurchase program</div>
</ix:nonNumeric>

  <ix:continuation id="Text_d5600ea3302d414e9ba3c4553cc6429e1" continuedAt="Text_d5600ea3302d414e9ba3c4553cc6429e2">
<div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_d5600ea3302d414e9ba3c4553cc6429e2">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We use the cost method to account for treasury stock purchases, under which the price paid for the stock is charged to the treasury
    stock account.&#160; Repurchases of our common stock are accounted for as of the settlement date.&#160; During 2021 and 2020, we did <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodShares" id="Fact_12b02c1a237046b2932fd4f87c05738d" contextRef="c20210101to20211231" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen"><ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodShares" id="Fact_ed7a3c87de004551be8ac3e9c91f44db" contextRef="c20200101to20201231" unitRef="U002" decimals="INF" scale="0" format="ixt-sec:numwordsen">no</ix:nonFraction></ix:nonFraction>t repurchase any shares of
    our common stock.&#160; From January 1, 2005 through December 31, 2019, we repurchased a total of <ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodShares" id="Fact_e349c2bf019a458daa7e361cab3f0ac4" contextRef="c20050101to20211231" unitRef="U002" decimals="0" scale="0" format="ixt:numdotdecimal">4,044,842</ix:nonFraction> shares of common stock for $<ix:nonFraction name="us-gaap:StockRepurchasedDuringPeriodValue" id="Fact_9c01741e0f5449f89cb7a9ae545dda2f" contextRef="c20050101to20211231" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">32.1</ix:nonFraction> million, at an average price of $<ix:nonFraction name="us-gaap:TreasuryStockAcquiredAverageCostPerShare" id="Fact_03bc2553e1e8434389436978b6ba5d90" contextRef="c20050101to20211231" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">7.94</ix:nonFraction> per
    share.</div>
</ix:continuation></div>

  <div style="text-align: left; line-height: 10.25pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-20</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>
<div><ix:nonNumeric name="us-gaap:SegmentReportingDisclosureTextBlock" id="Text_939bef70c0d64540892a844d8725a94a" contextRef="c20210101to20211231" escape="true" continuedAt="Text_c2d556c7cfbf47c2afce38f0815cb28c1">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">14. Geographic area information</div>
</ix:nonNumeric>

  <ix:continuation id="Text_c2d556c7cfbf47c2afce38f0815cb28c1" continuedAt="Text_c2d556c7cfbf47c2afce38f0815cb28c2">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_c2d556c7cfbf47c2afce38f0815cb28c2" continuedAt="Text_c2d556c7cfbf47c2afce38f0815cb28c3"><ix:nonNumeric name="us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" id="Text_13905b88d7334f81897864d4c40bab37" contextRef="c20210101to20211231" escape="true" continuedAt="Text_237a8b7bfb5049979b9479359de98a8f1">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Information regarding our operations by geographic area is contained in the following table.&#160; These amounts in the geographic area table are
    based on the location of the customer and asset.</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_c2d556c7cfbf47c2afce38f0815cb28c3" continuedAt="Text_c2d556c7cfbf47c2afce38f0815cb28c4"><ix:continuation id="Text_237a8b7bfb5049979b9479359de98a8f1" continuedAt="Text_237a8b7bfb5049979b9479359de98a8f2">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_c2d556c7cfbf47c2afce38f0815cb28c4" continuedAt="Text_c2d556c7cfbf47c2afce38f0815cb28c5"><ix:continuation id="Text_237a8b7bfb5049979b9479359de98a8f2">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net sales:</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">United States</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_7553ae93ee5d47f48aaf4a099542106d" contextRef="c20210101to20211231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">32,400</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_c9383106ff0d43dfa5bc7aa8e24892d6" contextRef="c20200101to20201231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">24,733</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_57da01f0d9e8421ba044190bdc775c03" contextRef="c20210101to20211231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">6,986</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_b0e1f385ea8a4a9f8a2e310202226624" contextRef="c20200101to20201231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">5,862</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_ab7e66a3a62649f68acac2f44331fa9c" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">39,386</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_1b0ac002758348b0b55760f7627f5d28" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">30,595</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Fixed assets, net:</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">United States</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_478770630e284ed48df2c90dc3085778" contextRef="c20211231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,770</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_8bafe332c2ae430594e3343bdeeea577" contextRef="c20201231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,079</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_ed0ed41f16b442bd8876780450e0def4" contextRef="c20211231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">914</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_6e6aecc46a364affbc5e2c29ee01b51d" contextRef="c20201231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">871</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_77ea1ae7ca5f48978711e1054b0b87a2" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,684</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_b9f2fded5c02401c9ad28d7bc354b070" contextRef="c20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,950</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_c2d556c7cfbf47c2afce38f0815cb28c5" continuedAt="Text_c2d556c7cfbf47c2afce38f0815cb28c6">
<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_c2d556c7cfbf47c2afce38f0815cb28c6">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Sales to international customers were <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_5f9b1d9c39cf46c092774c574a06dfee" contextRef="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">18</ix:nonFraction>%
    and <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_0710ab96b76245c59e316c284b4a3d54" contextRef="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">19</ix:nonFraction>% of total sales in 2021 and
    2020, respectively.&#160; Sales to Europe represented <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_7dd6f51cd832440d82db61314a680a58" contextRef="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">53</ix:nonFraction>%
    and <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_7901c79b8c98406c9ee9aedec2729c80" contextRef="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">45</ix:nonFraction>%, sales to the Pacific Rim (which includes Australia and Asia) represented <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_e3834217e41f4765a919291972bfee85" contextRef="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">35</ix:nonFraction>% and <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_fa35db1c777e46d2a2ec6437833784de" contextRef="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">45</ix:nonFraction>%, and sales to Canada represented <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_945b2a15fee54ed482983d80b75c92bb" contextRef="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">11</ix:nonFraction>% and <ix:nonFraction name="us-gaap:ConcentrationRiskPercentage1" id="Fact_0119130565e64697a56b8adf55007343" contextRef="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA" unitRef="U007" decimals="2" scale="-2" format="ixt:numdotdecimal">8</ix:nonFraction>%&#160; of total international sales in 2021 and 2020, respectively.&#160; International
    long-lived assets consist of net fixed assets located at our foreign subsidiary in the UK as well as our contract manufacturers in China, Thailand, Malaysia and Mexico.</div>
</ix:continuation></div>

  <div style="line-height: 11.4pt;"><br />
  </div>
<div><ix:nonNumeric name="us-gaap:LesseeOperatingLeasesTextBlock" id="Text_5a7dc2c2b1cb4061a483a480c2de1e99" contextRef="c20210101to20211231" escape="true" continuedAt="Text_ce00d762ba2846aeb1cae8d6d579deed1">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">15. Leases</div>
</ix:nonNumeric>

  <ix:continuation id="Text_ce00d762ba2846aeb1cae8d6d579deed1" continuedAt="Text_ce00d762ba2846aeb1cae8d6d579deed2">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_ce00d762ba2846aeb1cae8d6d579deed2" continuedAt="Text_ce00d762ba2846aeb1cae8d6d579deed3">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Operating lease expense was $</span><ix:nonFraction name="us-gaap:OperatingLeaseExpense" id="Fact_b48dcdc0c53045f3b0c0d1ce099f7a26" contextRef="c20200101to20201231" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal"><ix:nonFraction name="us-gaap:OperatingLeaseExpense" id="Fact_a3b5f98bc29246139a3f0a4cd78e2cbf" contextRef="c20210101to20211231" unitRef="U001" decimals="-5" scale="6" format="ixt:numdotdecimal">1.0</ix:nonFraction></ix:nonFraction><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> million for both years ended December 31, </span>2021<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> and </span>2020<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> and is reported as </span>&#8220;Cost of sales,&#8221; &#8220;Engineering, design and product development expense,&#8221; &#8220;Selling and
    marketing expense,&#8221; and &#8220;General and administrative expense&#8221; in the Consolidated Statements of Operations.&#160; <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Operating costs include short-term lease costs, which were
      immaterial during the period.</span></div>
</ix:continuation>
  <ix:continuation id="Text_ce00d762ba2846aeb1cae8d6d579deed3" continuedAt="Text_ce00d762ba2846aeb1cae8d6d579deed4">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_ce00d762ba2846aeb1cae8d6d579deed4" continuedAt="Text_ce00d762ba2846aeb1cae8d6d579deed5"><ix:nonNumeric name="tact:LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" id="Text_4eab533f0844421ebd1a6dd3b33f2c58" contextRef="c20210101to20211231" escape="true" continuedAt="Text_382f50eec451445d8776db42ffb7bbf81">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following information represents supplemental disclosure for the statement of cash flows related to operating leases (in thousands):</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_ce00d762ba2846aeb1cae8d6d579deed5" continuedAt="Text_ce00d762ba2846aeb1cae8d6d579deed6"><ix:continuation id="Text_382f50eec451445d8776db42ffb7bbf81" continuedAt="Text_382f50eec451445d8776db42ffb7bbf82">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ce00d762ba2846aeb1cae8d6d579deed6" continuedAt="Text_ce00d762ba2846aeb1cae8d6d579deed7"><ix:continuation id="Text_382f50eec451445d8776db42ffb7bbf82">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Operating cash outflows from leases</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeasePayments" id="Fact_e752242cfff949568cc4847f13d1339c" contextRef="c20210101to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">982</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeasePayments" id="Fact_3c1e12d3b44f468cbd677fd06466d5f0" contextRef="c20200101to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">1,040</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ce00d762ba2846aeb1cae8d6d579deed7" continuedAt="Text_ce00d762ba2846aeb1cae8d6d579deed8">
<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_ce00d762ba2846aeb1cae8d6d579deed8" continuedAt="Text_ce00d762ba2846aeb1cae8d6d579deed9"><ix:nonNumeric name="tact:LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" id="Text_5468d94eba274b49957e07039b061b03" contextRef="c20210101to20211231" escape="true" continuedAt="Text_1d966b809d984d2e96a10eee44bdb3121">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following summarizes additional information related to our leases as of December 31, 2021:</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_ce00d762ba2846aeb1cae8d6d579deed9" continuedAt="Text_ce00d762ba2846aeb1cae8d6d579deed10"><ix:continuation id="Text_1d966b809d984d2e96a10eee44bdb3121" continuedAt="Text_1d966b809d984d2e96a10eee44bdb3122">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ce00d762ba2846aeb1cae8d6d579deed10" continuedAt="Text_ce00d762ba2846aeb1cae8d6d579deed11"><ix:continuation id="Text_1d966b809d984d2e96a10eee44bdb3122">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Weighted average remaining lease term (in years)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonNumeric name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Fact_bd30c1b5c1e942d0a0bd5b4e9e78da1e" contextRef="c20211231" format="ixt-sec:duryear">3.5</ix:nonNumeric></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonNumeric name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Fact_33cce4dab8e74b4fbd33692ecf464a88" contextRef="c20201231" format="ixt-sec:duryear">4.9</ix:nonNumeric></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Weighted average discount rate</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" id="Fact_ee9ce2bc31de4bfc84b8ee05655a8e37" contextRef="c20211231" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">4.4</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" id="Fact_f136d887d1ed46a7805c34960aa3d55d" contextRef="c20201231" unitRef="U007" decimals="3" scale="-2" format="ixt:numdotdecimal">4.1</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

  </tr>


</table>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ce00d762ba2846aeb1cae8d6d579deed11" continuedAt="Text_ce00d762ba2846aeb1cae8d6d579deed12">
<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_ce00d762ba2846aeb1cae8d6d579deed12" continuedAt="Text_ce00d762ba2846aeb1cae8d6d579deed13"><ix:nonNumeric name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="Text_5506cde2ef1549d78d0c07d838263a31" contextRef="c20210101to20211231" escape="true" continuedAt="Text_b8b51f8a734541d9889f0bae89f92f051">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The maturity of the Company&#8217;s operating lease liabilities as of December 31, 2021 are as follows (in thousands):</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_ce00d762ba2846aeb1cae8d6d579deed13" continuedAt="Text_ce00d762ba2846aeb1cae8d6d579deed14"><ix:continuation id="Text_b8b51f8a734541d9889f0bae89f92f051" continuedAt="Text_b8b51f8a734541d9889f0bae89f92f052">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_ce00d762ba2846aeb1cae8d6d579deed14"><ix:continuation id="Text_b8b51f8a734541d9889f0bae89f92f052">
<table cellspacing="0" cellpadding="0" border="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; width: 78%;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2021</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 78%; background-color: rgb(204, 238, 255);">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2022</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 19%; background-color: rgb(204, 238, 255);" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" id="Fact_495f3682c8974f86a6f3171c369c552e" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">886</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 78%;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2023</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 19%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" id="Fact_282b95cbac84471aa9e3396cc887d136" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">721</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 78%; background-color: rgb(204, 238, 255);">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2024</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 19%; background-color: rgb(204, 238, 255);" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" id="Fact_04b45ea3f97c4124b4accfa66bda1114" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">721</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 78%;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2025</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 19%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" id="Fact_f216597341d94a9b816fc02d601d6476" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">426</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 78%; background-color: rgb(204, 238, 255); padding-bottom: 2px;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2026</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 19%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" id="Fact_93b1550216eb46a48f63ce05d316910d" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">23</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 78%;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total undiscounted lease payments</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 19%;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" id="Fact_4c600375184f4181b48f70881f7c7f7d" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,777</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 78%; padding-bottom: 2px; background-color: rgb(204, 238, 255);">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Less imputed interest</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 19%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" id="Fact_037059865d4f410c8a2ec51451d8fe24" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">207</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 78%; padding-bottom: 4px;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total lease liabilities</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 19%; border-bottom: 4px double rgb(0, 0, 0);" colspan="1">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" id="Fact_6e7229ebd5a44d0f8813425376c2435d" contextRef="c20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,570</ix:nonFraction></div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation></div>

  <div style="text-align: left; line-height: 13.7pt;"><br />
  </div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" class="DSPFPageBreakArea">
    <div class="DSPFPageFooter">
      <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-21</span></div>

    </div>

    <div style="page-break-after:always;" class="DSPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;" /></div>

  </div>
<div><ix:nonNumeric name="us-gaap:QuarterlyFinancialInformationTextBlock" id="Text_6292a32cc3244910975e2450fe89530b" contextRef="c20210101to20211231" escape="true" continuedAt="Text_d15af00d6f34463abfa24a3d09bd346d1">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">16. Quarterly results of operations (unaudited)</div>
</ix:nonNumeric>

  <ix:continuation id="Text_d15af00d6f34463abfa24a3d09bd346d1" continuedAt="Text_d15af00d6f34463abfa24a3d09bd346d2">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_d15af00d6f34463abfa24a3d09bd346d2" continuedAt="Text_d15af00d6f34463abfa24a3d09bd346d3"><ix:nonNumeric name="us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock" id="Text_7a80c7e43ae9497f93a6904b54f21396" contextRef="c20210101to20211231" escape="true" continuedAt="Text_66beee86b44643879dc45aeec0fcdfba1">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our quarterly results of operations for 2021 and 2020 are as follows:</div>
</ix:nonNumeric></ix:continuation>
  <ix:continuation id="Text_d15af00d6f34463abfa24a3d09bd346d3" continuedAt="Text_d15af00d6f34463abfa24a3d09bd346d4"><ix:continuation id="Text_66beee86b44643879dc45aeec0fcdfba1" continuedAt="Text_66beee86b44643879dc45aeec0fcdfba2">
<div style="line-height: 10.25pt;"><br />
  </div>
</ix:continuation></ix:continuation>
  <ix:continuation id="Text_d15af00d6f34463abfa24a3d09bd346d4"><ix:continuation id="Text_66beee86b44643879dc45aeec0fcdfba2">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="14">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Quarter Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands, except per share amounts)</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">March 31</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">June 30</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">September 30</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021:</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net sales</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_3a2a55d1be604cd2b557f24e8de0bacb" contextRef="c20210101to20210331" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">8,301</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_61066b145f2a4c4c90b284692c896985" contextRef="c20210401to20210630" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">9,325</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_ba171dae74f04c89bd429ce8388183d9" contextRef="c20210701to20210930" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">10,637</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_67eac3a067fe47419fc70f0ad6454469" contextRef="c20211001to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">11,123</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gross profit</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_3d91ebff951a46fa80746d7eff4ae6c7" contextRef="c20210101to20210331" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">3,189</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_453c04824a664848a53dc70162715899" contextRef="c20210401to20210630" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">3,325</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_2dd9061995924adab02542307d072e6f" contextRef="c20210701to20210930" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">4,317</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_81bfda6315004099b346b13b754d5a07" contextRef="c20211001to20211231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">4,418</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net (loss) income</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_f0ee19342c5e42c09908db496bb4a012" contextRef="c20210101to20210331" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">2,206</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_21debfac4aa14fc4ae14dd21953e4d9c" contextRef="c20210401to20210630" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">2,114</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_d5fd5f5cf3414d319d27200be822e83e" contextRef="c20210701to20210930" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">910</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_e6f3f5165722416aa8aa43ceb9c03920" contextRef="c20211001to20211231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">735</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net (loss) income per common share:</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Basic</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_af165796a7184487a719eb1ae319264c" contextRef="c20210101to20210331" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.25</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_e532b65444cb42c29a0c9f82f2131307" contextRef="c20210401to20210630" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.24</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_b2a0da3caae4448f9d8c5f3ea57020bd" contextRef="c20210701to20210930" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">0.10</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_80d298e334f140fd8b3ffc775571e320" contextRef="c20211001to20211231" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.07</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Diluted</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_bc22cf1c53c646f7a466519c84f6c3df" contextRef="c20210101to20210331" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.25</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_860164d1e9c64f08a4f0ba79b88e563e" contextRef="c20210401to20210630" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.24</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_c28cabee9f0542c08cc7a52be18d6ab6" contextRef="c20210701to20210930" unitRef="U003" decimals="2" scale="0" format="ixt:numdotdecimal">0.09</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_dc9b1fca9b004f72983c7fc5d793f6f1" contextRef="c20211001to20211231" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.07</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020:</div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net sales</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_be186741ef8545568091deb021175cc9" contextRef="c20200101to20200331" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">10,247</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_556a494fc76249e0b2ff8d63b0bd8ed6" contextRef="c20200401to20200630" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">5,285</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_1a3e2dba0d3648bfb62299835b8b03a5" contextRef="c20200701to20200930" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">7,300</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_cef910c96f5f41d0b216ab722b41cc9a" contextRef="c20201001to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">7,763</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gross profit</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_8f4f79b2167449a8bdc7b85fe18fc50b" contextRef="c20200101to20200331" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">4,918</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_2fedad8be8f04200b5c5c4c3c1a1710c" contextRef="c20200401to20200630" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,290</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_82ce42c2585947f5b78f1fe083852d25" contextRef="c20200701to20200930" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">3,349</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_cbf92fd4bf2944bc8332d0e131ad81e5" contextRef="c20201001to20201231" unitRef="U001" decimals="-3" scale="3" format="ixt:numdotdecimal">2,372</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net loss</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_b02f37519f00481197b15c98fd87b131" contextRef="c20200101to20200331" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">992</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_2b4414c18add4c8bb6fad3c84ee973ca" contextRef="c20200401to20200630" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,853</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_02cdcd398c2449c783f06fb5b34c7874" contextRef="c20200701to20200930" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">867</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_b48057d4db5e45628f8de68327e2615d" contextRef="c20201001to20201231" unitRef="U001" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,918</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net loss per common share:</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Basic</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_14c341d92ffb4cf0b415fa914580b2e4" contextRef="c20200101to20200331" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.13</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_35fe8fd5ebd64c84a61ba723bb1d2579" contextRef="c20200401to20200630" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.25</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_48ab818d6c4a4fd4b88b5bb4a14afb92" contextRef="c20200701to20200930" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.11</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_f2e7a3823d9647eb91463d559c740849" contextRef="c20201001to20201231" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.22</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 52%;">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Diluted</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_019fba4b865b4d4aaed8ab4e8b278b81" contextRef="c20200101to20200331" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.13</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_da4eb8cbfddc42a6b36b0235e8bebde4" contextRef="c20200401to20200630" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.25</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_9bbdc6a12d044abd9e03052444fbc526" contextRef="c20200701to20200930" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.11</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_78ed1abb602a4daabce8b93197930576" contextRef="c20201001to20201231" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:numdotdecimal">0.22</ix:nonFraction></div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>


</table>
</ix:continuation></ix:continuation></div>

  <div style="text-align: left; line-height: 13.7pt;"><br />
  </div>
<div><ix:nonNumeric name="us-gaap:SubsequentEventsTextBlock" id="Text_7a0238212f9f45698df40ad2fc23f0c5" contextRef="c20210101to20211231" escape="true" continuedAt="Text_7c3edc4e025140cba0fd4e8b765b91081">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">17. Subsequent events</div>
</ix:nonNumeric>

  <ix:continuation id="Text_7c3edc4e025140cba0fd4e8b765b91081" continuedAt="Text_7c3edc4e025140cba0fd4e8b765b91082">
<div style="text-align: justify; line-height: 10.25pt;"><br />
  </div>
</ix:continuation>
  <ix:continuation id="Text_7c3edc4e025140cba0fd4e8b765b91082">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Company has evaluated all events or transactions that occurred up to the date the consolidated financial statements were available to
    issue.&#160; Based upon this review, the Company did not identify any subsequent events that would have required adjustment or disclosure in the consolidated financial statements.</div>
</ix:continuation></div>

  <div style="line-height: 11.4pt;"><br />
  </div>

  <div class="DSPFPageFooter">
    <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-family: 'Times New Roman',Times,serif; font-size: 9pt; font-weight: normal; font-style: normal;" class="DSPFPageNumber">F-22</span></div>

  </div>

</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.10
<SEQUENCE>2
<FILENAME>exhibit1010.htm
<DESCRIPTION>SEVERANCE AGREEMENT BY AND BETWEEN TRANSACT AND ANDREW J. HOFFMAN
<TEXT>
<html>
  <head>
    <title></title>
    <!-- Licensed to: TransAct Technologies
         Document created using EDGARfilings PROfile 8.1.1.0
         Copyright 1995 - 2022 Broadridge -->
  </head>
<body bgcolor="#ffffff" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000;">
  <div>
    <div style="line-height: 13.7pt; text-align: right;"><font style="font-weight: bold; font-size: 12pt;">Exhibit 10.10</font><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">December 23, 2008</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Andrew J. Hoffman</div>
    <div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">90 Main Street</div>
    <div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Homer, NY 13077</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: left; line-height: 13.7pt;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;">Re:</font><font style="text-indent: 0px; font-size: 5.14pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><u>Amendment to Severance Agreement</u></font></div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Dear Mr. Hoffman:</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: left; text-indent: 36pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Reference is made to the Severance Agreement by and between you and TransAct Technologies, Incorporated (the
      "Company") dated November 18, 2005 (the "Agreement").&#160; In order that the Agreement comply in form with the applicable requirements of Section 409A of the Internal Revenue Code of 1986, as amended, the following changes to the Agreement are hereby
      proposed:</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div>
      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable" id="z20a9bdd4c50245d7960d5e8d176b9738">

          <tr>
            <td style="width: 36pt; vertical-align: top; align: right;">
              <div style="text-align: left; margin-left: 36pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">1.</div>
            </td>
            <td style="width: auto; vertical-align: top;">
              <div style="text-align: left; text-indent: 36pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Deleting clause (D) in Subsection 1(d) and replacing it with the following text:</div>
            </td>
          </tr>

      </table>
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: left; text-indent: 36pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">"(D) Any other action or inaction that constitutes a material breach of the Agreement by the Company, including
      without limitation Section 11.&#160;&#160; It is further understood that a resignation shall qualify as a "terminating event" only if:&#160; (i) the Executive gives the Company notice, within ninety (90) days of its first existence or occurrence (without the
      consent of the Executive) of any or any combination of the events described in this Section 1(e)(ii); (ii) the Company fails to cure the eligibility condition(s) within thirty (30) days of receiving such notice; and (iii) the Executive separates from
      service not later than 30<font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">&#160;</font>days following the end of such thirty-day period."</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div>
      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable" id="z22fcc7ed2372452b919e72c0494901be">

          <tr>
            <td style="width: 36pt; vertical-align: top; align: right;">
              <div style="text-align: left; margin-left: 36pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">2.</div>
            </td>
            <td style="width: auto; vertical-align: top;">
              <div style="text-align: left; text-indent: 36pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Adding a new Subsection 1(e) immediately following Subsection 1(d), to read as follows:</div>
            </td>
          </tr>

      </table>
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: left; text-indent: 36pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">"(e)&#160; "Separation from Service" for purposes of the Agreement shall mean a "separation from service" (as defined at
      Section 1.409A-1(h) of the Treasury Regulations) from the Company and from all other corporations and trades or businesses, if any, that would be treated as a single "service recipient" with the Company under Section 1.409A-1(h)(3) of the Treasury
      Regulations."</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div>
      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable" id="z3bf9a8cf9d6c473ca82644359a668b8b">

          <tr>
            <td style="width: 36pt; vertical-align: top; align: right;">
              <div style="text-align: left; margin-left: 36pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">3.</div>
            </td>
            <td style="width: auto; vertical-align: top;">
              <div style="text-align: left; text-indent: 36pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Adding the following sentence at the end of Subsection 2(b):</div>
            </td>
          </tr>

      </table>
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">"; <font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">provided</font>, that this sentence
      shall not apply to any portion of the amounts payable under Section 2(b)(i)-(ii) that constitutes or includes nonqualified deferred compensation subject to Section 409A of the Internal Revenue Code of 1986, as amended (the "Code")."</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div id="DSPFPageBreakArea" style="clear: both; margin-top: 9pt; margin-bottom: 9pt;">
      <div id="DSPFPageBreak" style="page-break-after: always;">
        <hr noshade="noshade" style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"></div>
    </div>
    <div>
      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable" id="z54f67b926c4c42f38cc6821106c463ae">

          <tr>
            <td style="width: 36pt; vertical-align: top; align: right;">
              <div style="text-align: left; margin-left: 36pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">4.</div>
            </td>
            <td style="width: auto; vertical-align: top;">
              <div style="text-align: left; text-indent: 36pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Adding the following text at the end of Subsection 2(c):</div>
            </td>
          </tr>

      </table>
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: left; text-indent: 36pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">"Any such release must be executed in a form prescribed by or acceptable to the Company and delivered to the Company
      not later than sixty (60) days following the Executive's separation from service.&#160; If the Executive's properly executed release is timely delivered to the Company and the Executive does not revoke the release within seven (7) days thereafter or
      within such shorter period as the Company may prescribe, the severance benefits payable hereunder shall commence upon the expiration of such seven-day or shorter period; <font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">provided</font>, that the first such payment shall include any amounts that would have been paid earlier but for the provisions of this subsection (c)."</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div>
      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable" id="zde0a46b5ed644d00983ffb5b64f1106e">

          <tr>
            <td style="width: 36pt; vertical-align: top; align: right;">
              <div style="text-align: left; margin-left: 36pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">5.</div>
            </td>
            <td style="width: auto; vertical-align: top;">
              <div style="text-align: left; text-indent: 36pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Adding a new Section 11 immediately following Section 10, to read as follows:</div>
            </td>
          </tr>

      </table>
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: left; text-indent: 36pt; line-height: 13.7pt;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;">"11</font><font style="text-indent: 0px; font-size: 5.14pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>Executive Incentive Compensation Plan</u></font>.&#160; During the twelve (12) month period subsequent to any Change in
        Control, neither the Company, nor, if applicable, any successor to the Company, will eliminate the Executive's participation in the Company's Executive Incentive Compensation Plan or reduce the Executive's target bonus amount under that plan."</font></div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div>
      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable" id="zb36bd527fac74be69345a37395bf5fc4">

          <tr>
            <td style="width: 36pt; vertical-align: top; align: right;">
              <div style="text-align: left; margin-left: 36pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">6.</div>
            </td>
            <td style="width: auto; vertical-align: top;">
              <div style="text-align: left; text-indent: 36pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Adding a new Section 12<font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">&#160;</font>immediately following new Section 11, to read as follows:</div>
            </td>
          </tr>

      </table>
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: left; text-indent: 36pt; line-height: 13.7pt;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;">"12</font><font style="text-indent: 0px; font-size: 5.14pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>Section 409A</u></font>.</font></div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: left; text-indent: 108pt; line-height: 13.7pt;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;">(a)</font><font style="text-indent: 0px; font-size: 5.14pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>In General</u></font>.&#160; To the extent any portion of the payments to be made under the Agreement constitute
        deferred compensation subject to Section 409A of the Code, such payments shall be made in accordance with the payment schedule provided in Section 2 of the Agreement, but not earlier than the 67th day following the date of the Involuntary
        Termination.</font></div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: left; text-indent: 108pt; line-height: 13.7pt;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;">(b)</font><font style="text-indent: 0px; font-size: 5.14pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>Specified Employee</u></font>.&#160; Notwithstanding any other provision of the Agreement, if, at the time of separation
        from service, the Executive is a specified employee as hereinafter defined, any and all amounts payable in connection with such separation from service that constitute deferred compensation subject to Section 409A of the Code, as determined by the
        Company in its sole discretion, and that would (but for this sentence) be payable within six (6) months following such separation from service, shall instead be paid on the date that follows the date of such separation from service by six (6)
        months and one (1) day, without interest.&#160; For purposes of the preceding sentence, the term "specified employee" means an individual who is determined by the Company to be a specified employee as defined in subsection (a)(2)(B)(i) of Section 409A
        of the Code.&#160; The Company may, but need not, elect in writing, subject to the applicable limitations under Section 409A of the Code, any of the special elective rules prescribed in Section 1.409A-1(i) of the Treasury Regulations for purposes of
        determining "specified employee" status.&#160; Any such written election shall be deemed part of the Agreement."</font></div>
    <div id="DSPFPageBreakArea" style="clear: both; margin-top: 9pt; margin-bottom: 9pt;">
      <div id="DSPFPageBreak" style="page-break-after: always;">
        <hr noshade="noshade" style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"></div>
    </div>
    <div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br style="line-height: 13.7pt;">
      <font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><br>
      </font><font style="text-indent: 0px; font-size: 5.14pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font>If the foregoing proposed changes to the Agreement are acceptable to you, please so indicate in the space indicated below, whereupon the Agreement shall be so amended
      effective as of January 1, 2008.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: left; text-indent: 180pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">TRANSACT TECHNOLOGIES INCORPORATED</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: left; text-indent: 180pt; line-height: 13.7pt;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;">By:</font><font style="text-indent: 0px; font-size: 5.14pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><u>/s/ Steven A. DeMartino</u></font></div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: left; text-indent: 180pt; line-height: 13.7pt;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;">Date:</font><font style="text-indent: 0px; font-size: 5.14pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;">12/28/2008</font></div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Agreed:</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><u>/s/ Andrew J. Hoffman&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; </u></div>
    <div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Andrew J. Hoffman</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div id="DSPFPageBreakArea" style="clear: both; margin-top: 9pt; margin-bottom: 9pt;">
      <div id="DSPFPageBreak" style="page-break-after: always;">
        <hr noshade="noshade" style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"></div>
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: center; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><u>SEVERANCE AGREEMENT</u></div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 28.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">This Severance Agreement (the "Agreement") is entered into as of the 18th&#160; day of November 2005, by and between
      Andrew J. Hoffman, an individual with a residence address of 90 South Main Street, Homer NY 13077 (the "Executive"), and TransAct Technologies Incorporated, a Delaware corporation with a mailing address of 7 Laser Lane, Wallingford, Connecticut 06492
      (the "Company").&#160; As used in this Agreement, the "Company" shall also include all subsidiaries of the Company, as the context requires.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><u>INTRODUCTION</u></div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 28.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">1.&#160; The Company is in the business of designing, developing, manufacturing and marketing printers for point of
      sale, gaming and wagering, financial service and kiosk applications (the "Business").</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 28.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">2.&#160; The Company desires that the Executive serve in his position with the Company and that the Company be able to
      rely upon his advice when requested as to the best interests of the Company, and its shareholders.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 28.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">3.&#160; The Board of Directors of the Company believes Executive can best serve the Company without the distractions
      of personal uncertainties and risks that might be created in the event a change in control of the Company is proposed or his&#160; employment by the Company is terminated.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><u>AGREEMENT</u></div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; line-height: 13.7pt;"><font style="text-indent: 0px; font-size: 5.76pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;">In consideration of the premises and mutual promises
        hereinbelow set forth, the parties hereby agree as follows:</font></div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; line-height: 13.7pt;"><font style="text-indent: 0px; font-size: 5.76pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;">1.</font><font style="text-indent: 0px; font-size: 5.14pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>Definitions</u></font>.&#160; The following terms shall have the
        meanings indicated for the purposes of this Agreement:</font></div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; line-height: 13.7pt;"><font style="text-indent: 0px; font-size: 5.4pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;">(a) "Cause" shall mean: (i) the death or
        disability of the Executive (For purposes of this Agreement, "disability" shall mean the Executive's incapacity due to physical or mental illness which has caused the Executive to be absent from the full-time performance of his duties with the
        Company for a period of six (6) consecutive months.) (ii) any action or inaction by the Executive that constitutes larceny, fraud, gross negligence, a willful or negligent misrepresentation to the directors or officers of the Company, their
        successors or assigns, or a crime involving moral turpitude; or (iii) the refusal of the Executive to follow the reasonable and lawful instructions of the CEO or the Board of Directors of the Company with respect to the services to be rendered and
        the manner of rendering such services by Executive, provided such refusal is material and repetitive and is not justified or excused either by the terms of this Agreement or by actions taken by the Company in violation of this Agreement, and with
        respect to the first two refusals Executive has been given reasonable written notice and explanation thereof and reasonable opportunity to cure and no cure has been effected within a reasonable time after such notice.</font></div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div id="DSPFPageBreakArea" style="clear: both; margin-top: 9pt; margin-bottom: 9pt;">
      <div id="DSPFPageBreak" style="page-break-after: always;">
        <hr noshade="noshade" style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"></div>
    </div>
    <div style="text-align: justify; text-indent: 64.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">(b)&#160;&#160; "Change in Control" will be deemed to have occurred if: (1) the Company effectuates a Takeover Transaction;
      or (2) any election of directors of the Company (whether by the directors then in office or by the stockholders at a meeting or by written consent) where a majority of the directors in office following such election are individuals who were not
      nominated by a vote of two-thirds of the members of the Board of Directors immediately preceding such election; or (3) the Company&#160; effectuates a complete liquidation of the Company or a sale or disposition of all or substantially all of its assets.&#160;
      A "Change in Control" shall not be deemed to include, however, a merger or sale of stock, assets or business of the Company if the Executive immediately after such event owns, or in connection with such event immediately acquires (other than in the
      Executive's capacity as an equity holder of the Company or as a beneficiary of its employee stock ownership plan or profit sharing plan), any stock of the buyer or any affiliate thereof.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 64.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">(c)&#160; A "Takeover Transaction" shall mean (i) a merger or consolidation of the Company with, or an acquisition of
      the Company or all or substantially all of its assets by, any other corporation, other than a merger, consolidation or acquisition in which the individuals who were members of the Board of Directors of the Company immediately prior to such
      transaction continue to constitute a majority of the Board of Directors of the surviving corporation (or, in the case of an acquisition involving a holding company, constitute a majority of the Board of Directors of the holding company) for a period
      of not less than twelve (12) months following the closing of such transaction, or (ii) when any person or entity or group of persons or entities (other than any trustee or other fiduciary holding securities under an employee benefit plan of the
      Company) either related or acting in concert becomes the "beneficial owner" (as defined in Rule 13d-3 under the Securities Exchange Act of 1934, as amended) of securities of the Company representing more than fifty percent (50%) of the total number
      of votes that may be cast for the election of directors of the Company.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 64.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">(d)&#160; "Terminating Event" shall mean: (i) termination by the Company of the employment of the Executive for any
      reason other than retirement or for Cause, occurring within twelve (12) months after a Change of Control; or (ii) resignation of the Executive from the employ of the Company, while the Executive is not receiving payments or benefits from the Company
      by reason of the Executive's disability, subsequent to any of the following events occurring within twelve (12) months after a Change of Control:&#160; (A) a significant reduction in the nature or scope of the Executive's responsibilities, authorities,
      powers, functions or duties from the responsibilities, authorities, powers, functions or duties exercised by the Executive immediately prior to the Change in Control; (B) a decrease in the salary payable by the Company to the Executive from the
      salary payable to the Executive immediately prior to the Change in Control except for across-the-board salary reductions similarly affecting all management personnel of the Company; or (C) the relocation of the Executive&#8217;s principal place of
      employment (without his&#160; consent) to a location more than 50 miles from its current location (unless such new location is closer to the Executive's then residence) provided, however, that a Terminating Event shall not be deemed to have occurred
      solely as a result of the Executive being an employee of any direct or indirect successor to the business or assets of the Company, rather than continuing as an employee of the Company, following a Change in Control; or (D) elimination of the
      Executive's participation in the Company's Executive Incentive Compensation Plan (&#8220;EIC&#8221;) or a reduction in the Executive&#8217;s target bonus amount under the EIC.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div id="DSPFPageBreakArea" style="clear: both; margin-top: 9pt; margin-bottom: 9pt;">
      <div id="DSPFPageBreak" style="page-break-after: always;">
        <hr noshade="noshade" style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"></div>
    </div>
    <div style="text-align: justify; text-indent: 64.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">2.&#160; <font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>Severance</u></font>.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 64.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">(a)&#160; <font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>Without Cause</u></font>.&#160;
      If the Company terminates the employment of the Executive without Cause, other than as a result of a Terminating Event, then commencing on the date of such termination and for a period of six (6) months thereafter, the Company shall provide Executive
      with a severance package which shall consist of the following:&#160; (i) payment on the first business day of each month of an amount equal to one-twelfth of the Executive's then current annual base salary; (ii) payment on the first business day of each
      month of an amount equal to one-sixth of the Executive's annual target bonus amount under the EIC, pro rated for the portion of the fiscal year occurring prior to termination; and (iii)subject to any employee contribution applicable to the Executive
      on the date of termination, contribution to the cost of the Executive&#8217;s participation in the Company&#8217;s group medical and dental plans, provided that the Executive is entitled to continue such participation under applicable law and plan terms.&#8221;.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 64.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">(b)&#160; <font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>With A Terminating Event.</u></font>&#160;&#160;

      If the Company terminates the employment of the Executive as a result of a Terminating Event, then commencing on the date of such termination and for a period equal to one (1) year thereafter, the Company shall provide Executive with a severance
      package which shall consist of the following:&#160; (i) payment on the first business day of each month an amount equal to one-twelfth of the Executive's then current annual base salary; (ii) payment on the first business day of each month of an amount
      equal to one-twelfth of the Executive's annual target bonus amount under the Company's Executive Incentive Compensation Plan; and (iii)subject to any employee contribution applicable to the Executive on the date of termination, contribution to the
      cost of the Executive&#8217;s participation in the Company&#8217;s group medical and dental plans, provided that the Executive is entitled to continue such participation under applicable law and plan terms.&#160; In addition, if the Company terminates the employment
      of the Executive as a result of a Terminating Event, then the Company shall cause the immediate vesting of all options granted by the Company to the Executive under the Company's stock plans.&#160; At any time when the Company is obligated to make monthly
      payments under Section 2(b), the Company shall, ten (10) days after receipt of a written request from the Executive, pay the Executive an amount equal to the balance of the amounts payable under Section 2(b)(i)-(ii), provided that the obligation of
      the Company to continue to contribute to medical and dental benefits pursuant to Section 2(b)(iii) or to&#160; make monthly payments under 2(b)(i)-(ii) shall cease upon the payment of such amount.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div id="DSPFPageBreakArea" style="clear: both; margin-top: 9pt; margin-bottom: 9pt;">
      <div id="DSPFPageBreak" style="page-break-after: always;">
        <hr noshade="noshade" style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"></div>
    </div>
    <div style="text-align: justify; text-indent: 64.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">(c)&#160; <font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>General Release</u></font>.&#160;

      As a condition precedent to receiving any severance payment, the Executive shall execute a general release of any and all claims which Executive or his heirs, executors, agents or assigns might have against the Company, its subsidiaries, affiliates,
      successors, assigns and their past, present and future employees, officers, directors, agents and attorneys.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 64.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">(d)&#160; <font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>Withholding</u></font>.&#160;
      All payments made by the Company under this Agreement shall be net of any tax or other amounts required to be withheld by the Employer under applicable law.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;e)&#160;&#160; <font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>Effect of Breach</u></font>.&#160;
      In the event that the Executive breaches Section 3 of this Agreement, he shall forfeit any right to severance payments of benefits contribution hereunder and shall be required to return any severance payments or benefits contributions provided prior
      to such breach within ten (10) days after a written demand by the Company.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 28.8pt; line-height: 13.7pt; margin-top: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">3.&#160; <font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>Non-Competition</u></font>.&#160;

      During Executive's employment with the Company and (a) in the case of termination other than as a result of a Terminating Event, for six (6) months following the termination of Executive's employment with the Company or (b) in the case of termination
      as a result of a Terminating Event, for one (1) year following the termination of Executive's employment with the Company, Executive will not directly or indirectly whether as a partner, consultant, agent, employee, co-venturer, greater than two
      percent owner or otherwise or through any other person (as hereafter defined): (a) be engaged in any business or activity which is competitive with the business of the Company in any part of the world in which the Company is at the time of the
      Executive's termination engaged in selling their products directly or indirectly; or (b) attempt to recruit any employee of the Company, assist in their hiring by any other person, or encourage any employee to terminate his or her employment with the
      Company; or (c) encourage any customer of the Company to conduct with any other Person any business or activity which such customer conducts or could conduct with the Company.&#160; For purpose of this Section 3, the term "Company" shall include any
      person controlling, under common control with or controlled by, the Company.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 28.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">For purposes of this Agreement, the term "Person" shall mean an individual or corporation, association or
      partnership in estate or trust or any other entity or organization.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 28.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">The Executive recognizes and agrees that because a violation by him of this Section 3 will cause irreparable harm
      to the Company that would be difficult to quantify and for which money damages would be inadequate, the Company shall have the right to injunctive relief to prevent or restrain any such violation, without the necessity of posting a bond.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div id="DSPFPageBreakArea" style="clear: both; margin-top: 9pt; margin-bottom: 9pt;">
      <div id="DSPFPageBreak" style="page-break-after: always;">
        <hr noshade="noshade" style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"></div>
    </div>
    <div style="text-align: justify; text-indent: 28.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Executive expressly agrees that the character, duration and scope of this covenant not to compete are reasonable
      in light of the circumstances as they exist at the date upon which this Agreement has been executed.&#160; However, should a determination nonetheless be made by a court of competent jurisdiction at a later date that the character, duration or
      geographical scope of this covenant not to compete is unreasonable in light of the circumstances as they then exist, then it is the intention of both Executive and the Company that this covenant not to compete shall be construed by the court in such
      a manner as to impose only those restrictions on the conduct of Executive which are reasonable in light of the circumstances as they then exist and necessary to provide the Company the intended benefit of this covenant to compete.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 28.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">4.&#160; <font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>Confidentiality Covenants</u></font>.&#160;

      Executive understands that the Company may impart to him confidential business information including, without limitation, designs, financial information, personnel information, strategic plans, product development information and the like
      (collectively "Confidential Information").&#160; Executive hereby acknowledges Company's exclusive ownership of such Confidential Information.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 28.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Executive agrees as follows: (1) only to use the Confidential Information to provide services to the Company; (2)
      only to communicate the Confidential Information to fellow employees, agents and representatives of the Company on a need-to-know basis; and (3) not to otherwise disclose or use any Confidential Information.&#160; Upon demand by the Company or upon
      termination of Executive's employment, Executive will deliver to the Company all property of the Company including, but not limited to, all manuals, documents, photographs, recordings, and any other instrument or device by which, through which, or on
      which Confidential Information has been recorded and/or preserved, which are in Executive's possession, custody or control.&#160; Executive acknowledges that for purposes of this Section 4 the term "Company" means any person or entity now or hereafter
      during the term of this Agreement which controls, is under common control with, or is controlled by, the Company.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 28.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">The Executive recognizes and agrees that because a violation by him of this Section 4 will cause irreparable harm
      to the Company that would be difficult to quantify and for which money damages would be inadequate, the Company shall have the right to injunctive relief to prevent or restrain any such violation, without the necessity of posting a bond.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 28.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">5.&#160; <font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>Governing Law/Jurisdiction</u></font>.&#160;

      This Agreement shall be governed by and interpreted and governed in accordance with the laws of the State of Connecticut.&#160; The parties agree that this Agreement was made and entered into in Connecticut and each party hereby consents to the
      jurisdiction of a competent court in Connecticut to hear any dispute arising out of this Agreement.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div id="DSPFPageBreakArea" style="clear: both; margin-top: 9pt; margin-bottom: 9pt;">
      <div id="DSPFPageBreak" style="page-break-after: always;">
        <hr noshade="noshade" style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"></div>
    </div>
    <div style="text-align: justify; text-indent: 28.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">6.&#160; <font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>Entire Agreement</u></font>.&#160;

      This Agreement constitutes the entire agreement between the parties hereto with respect to the subject matter hereof and thereof and supercedes any and all previous agreements, written and oral, regarding the subject matter hereof between the parties
      hereto.&#160; This Agreement shall not be changed, altered, modified or amended, except by a written agreement signed by both parties hereto.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 28.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">7.&#160; <font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>Notices</u></font>.&#160; All
      notices, requests, demands and other communications required or permitted to be given or made under this Agreement shall be in writing and shall be deemed to have been given if delivered by hand, sent by generally recognized overnight courier
      service, telex or telecopy, or certified mail, return receipt requested.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 64.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">(a) to the Company at:</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 100.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">7 Laser Lane</div>
    <div style="text-align: justify; text-indent: 100.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Wallingford, Connecticut 06492</div>
    <div style="text-align: justify; text-indent: 100.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Attn:&#160; CEO</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 64.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">(b) to the Executive at:</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 100.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">90 South Main Street</div>
    <div style="text-align: justify; text-indent: 100.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Homer, NY&#160; 13077</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 28.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Any such notice or other communication will be considered to have been given (i) on the date of delivery in
      person, (ii) on the third day after mailing by certified mail, provided that receipt of delivery is confirmed in writing, (iii) on the first business day following delivery to a commercial overnight courier or (iv) on the date of facsimile
      transmission (telecopy) provided that the giver of the notice obtains telephone confirmation of receipt.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 28.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Either party may, by notice given to the other party in accordance with this section, designate another address
      or person for receipt of notices hereunder.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 28.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">8.&#160; <font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>Severability</u></font>.&#160; If
      any term or provision of this Agreement, or the application thereof to any person or under any circumstance, shall to any extent be invalid or unenforceable, the remainder of this Agreement, or the application of such terms to the persons or under
      circumstances other than those as to which it is invalid or unenforceable, shall be considered severable and shall not be affected thereby, and each term of this Agreement shall be valid and enforceable to the fullest extent permitted by law.&#160; The
      invalid or unenforceable provisions shall, to the extent permitted by law, be deemed amended and given such interpretation as to achieve the economic intent of this Agreement.</div>
    <div style="text-align: justify; text-indent: 28.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"> <br>
    </div>
    <div id="DSPFPageBreakArea" style="clear: both; margin-top: 9pt; margin-bottom: 9pt;">
      <div id="DSPFPageBreak" style="page-break-after: always;">
        <hr noshade="noshade" style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"></div>
    </div>
    <div style="text-align: justify; text-indent: 36pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">9.&#160; <font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>Waiver</u></font>.&#160; The
      failure of any party to insist in any one instance or more upon strict performance of any of the terms and conditions hereof, or to exercise any right or privilege herein conferred, shall not be construed as a waiver of such terms, conditions, rights
      or privileges, but same shall continue to remain in full force and effect.&#160; Any waiver by any party of any violation of, breach of or default under any provision of this Agreement by the other party shall not be construed as, or constitute, a
      continuing waiver of such provision, or waiver of any other violation of, breach of or default under any other provision of this Agreement.</div>
    <div style="text-align: justify; text-indent: 36pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"> <br>
    </div>
    <div style="text-align: justify; text-indent: 36pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">10.&#160; <font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>Successors and Assignment</u></font>.&#160;

      Neither the Company nor the Executive may make any assignment of this Agreement or any interest herein, by operation of law or otherwise, without the prior written consent of the other; provided, however, that the Company may assign its rights and
      obligations under this Agreement without the consent of the Executive in the event that the Company shall hereafter affect a reorganization, consolidate with, or merge into, any other Person or transfer all or substantially all of its properties or
      assets to any other Person.&#160; This Agreement shall inure to the benefit of and be binding upon the Company and the Executive, their respective successors, executors, administrators, heirs and permitted assigns.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 28.8pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">IN WITNESS WHEREOF, the parties have executed this Agreement as of the date first written above.</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: left; text-indent: 180pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">TRANSACT TECHNOLOGIES INCORPORATED</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 180pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">By:<font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>&#160; /s/ Bart C. Shuldman</u></font></div>
    <div style="text-align: justify; text-indent: 180pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Title:&#160; Chairman, President and CEO</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 180pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">EXECUTIVE:</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;By <font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif;"><u>/s/ Andrew J. Hoffman</u></font></div>
    <div style="text-align: justify; text-indent: 180pt; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Title:&#160; Senior Vice President, Operations</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.11
<SEQUENCE>3
<FILENAME>exhibit1011.htm
<DESCRIPTION>SECOND AMENDMENT TO SEVERANCE AGREEMENT BY AND BETWEEN TRANSACT AND STEVEN A. DEMARTINO
<TEXT>
<html>
  <head>
    <title></title>
    <!-- Licensed to: TransAct Technologies
         Document created using EDGARfilings PROfile 8.1.1.0
         Copyright 1995 - 2022 Broadridge -->
  </head>
<body bgcolor="#ffffff" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000;">
  <div>
    <div style="text-align: right; line-height: 13.7pt; font-family: 'Times New Roman',Times,serif; font-size: 12pt; font-weight: bold;"> Exhibit 10.11<br>
    </div>
    <div style="text-align: right; line-height: 13.7pt; font-family: 'Times New Roman',Times,serif; font-size: 12pt; font-weight: bold;"> <br>
    </div>
    <div style="text-align: center; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt; font-weight: bold;">SECOND AMENDMENT TO SEVERANCE AGREEMENT</div>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <div style="text-align: justify; text-indent: 36pt; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">This Second Amendment to Severance Agreement (this &#8220;<font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">Amendment</font>&#8221;) is entered into as of the 29th day of April 2021, by and between TransAct Technologies Incorporated, a Delaware corporation (the &#8220;<font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">Company</font>&#8221;), and Steven A. DeMartino, an executive officer of the Company (the &#8220;<font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">Executive</font>&#8221;).</div>
    <div style="text-align: justify; text-indent: 36pt; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">WHEREAS</font>, the Executive and the Company are party to that certain Severance Agreement, dated as of June 1, 2004, as amended by the Amendment to Severance Agreement, dated as of December 23, 2008 (as so amended, the &#8220;<font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">Agreement</font>&#8221;); and</div>
    <div style="text-align: justify; text-indent: 36pt; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">WHEREAS</font>, the Executive and the Company wish to enter into this Amendment solely to clarify a possible ambiguity with respect to the meaning of certain provisions of the Agreement and to reflect the understanding of the Executive, the
      Company and the Board of Directors of the Company (the &#8220;<font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">Board</font>&#8221;) regarding such provisions.</div>
    <div style="text-align: justify; text-indent: 36pt; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">NOW, THEREFORE</font>, in consideration of the Executive&#8217;s continuing employment with the Company and for other good and valuable consideration, the receipt and sufficiency of which are hereby acknowledged, the parties hereby agree as
      follows:</div>
    <div>
      <table cellspacing="0" cellpadding="0" id="zde117e37abff43bdaebaff883cfeb9c0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; margin-bottom: 12pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 72pt; vertical-align: top; align: right;">
              <div style="text-align: left; margin-left: 36pt; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt; font-weight: bold;">1.</div>
            </td>
            <td style="width: auto; vertical-align: top;">
              <div style="text-align: justify; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"><u>Amendment
                    of the Agreement</u>.&#160; </font>The Agreement is hereby amended solely to make the following changes:</div>
            </td>
          </tr>

      </table>
    </div>
    <div>
      <table cellspacing="0" cellpadding="0" id="za344e7e2ebb94be982b9c79096344688" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; margin-bottom: 12pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 90pt; vertical-align: top; align: right;">
              <div style="text-align: left; margin-left: 72pt; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt; font-weight: bold;">a.</div>
            </td>
            <td style="width: auto; vertical-align: top;">
              <div style="text-align: justify; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Clause (iii) of Section 2(a) of the Agreement shall be deleted and replaced in its entirety with the
                following text:</div>
            </td>
          </tr>

      </table>
    </div>
    <div style="text-align: justify; margin-left: 90pt; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">&#8220;(iii) continuation of the following benefits (the &#8220;Benefits&#8221;):&#160; eligibility to participate
      in, and receive the maximum benefits available under, the Company&#8217;s insurance programs (including health, disability and life insurance) and any ERISA benefit plans, as the same may be adopted and/or amended from time to time, and all other fringe
      benefits that are provided by the Company to other senior executives, to receive the contribution by the Company to the Executive&#8217;s account of the maximum amount permitted under the Company&#8217;s 401(k) Plan and any other Company pension or retirement
      plan to the same extent available to the Executive during the Executive&#8217;s employment with the Company, and to receive the automobile allowance provided for the office of President and Chief Financial Officer under the Company&#8217;s automobile allowance
      policy.&#8221;</div>
    <div>
      <table cellspacing="0" cellpadding="0" id="zd72dd93d96af4d129a2f71025c450a9a" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; margin-bottom: 12pt; width: 100%; text-align: left; color: #000000;">

          <tr>
            <td style="width: 90pt; vertical-align: top; align: right;">
              <div style="text-align: left; margin-left: 72pt; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt; font-weight: bold;">b.</div>
            </td>
            <td style="width: auto; vertical-align: top;">
              <div style="text-align: justify; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">Clause (iii) of Section 2(b) of the Agreement shall be deleted and replaced in its entirety with the
                following text:</div>
            </td>
          </tr>

      </table>
    </div>
    <div style="text-align: justify; text-indent: -18pt; margin-left: 108pt; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">&#8220;(iii) continuation of the Benefits.&#8221;</div>
    <div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br>
      <div>
        <table cellspacing="0" cellpadding="0" id="zc3fe7a54eaec428daf9830ea92527adc" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; margin-bottom: 12pt; width: 100%; text-align: left; color: #000000;">

            <tr>
              <td style="width: 72pt; vertical-align: top; align: right;">
                <div style="text-align: left; margin-left: 36pt; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt; font-weight: bold;">2.</div>
              </td>
              <td style="width: auto; vertical-align: top;">
                <div style="text-align: justify; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"><u>Reference
                      to and Effect on the Agreement</u>.</font>&#160; On and after the date of this Amendment, each reference in the Agreement to &#8220;this
                  Agreement,&#8221; &#8220;hereunder,&#8221; &#8220;hereof&#8221; or words of like import referring to the Agreement shall mean and be a reference to the Agreement, as amended by this Amendment. The Agreement, as specifically amended by this Amendment, is and shall
                  continue to be in full force and effect and is hereby in all respects ratified and confirmed.</div>
              </td>
            </tr>

        </table>
      </div>
    </div>
    <br>
    <div style="clear: both; margin-top: 9pt; margin-bottom: 9pt;" id="DSPFPageBreakArea">
      <div style="page-break-after: always;" id="DSPFPageBreak">
        <hr noshade="noshade" style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"></div>
    </div>
    <div>
      <div id="DSPFPageHeader">
        <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
        </div>
      </div>
      <div>
        <table cellspacing="0" cellpadding="0" id="z38ec36830436487fa7bd728a1b41fe88" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; margin-bottom: 12pt; width: 100%; text-align: left; color: #000000;">

            <tr>
              <td style="width: 72pt; vertical-align: top; align: right;">
                <div style="text-align: left; margin-left: 36pt; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt; font-weight: bold;">3.</div>
              </td>
              <td style="width: auto; vertical-align: top;">
                <div style="text-align: justify; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"><u>Governing
                      Law/Jurisdiction</u>.</font>&#160; This Amendment shall be governed by and interpreted and governed in accordance with the laws of the
                  State of Connecticut. The parties agree that this Amendment was made and entered into in Connecticut and each party hereby consents to the jurisdiction of a competent court in Connecticut to hear any dispute arising out of this Agreement.</div>
              </td>
            </tr>

        </table>
      </div>
      <div>
        <table cellspacing="0" cellpadding="0" id="z2b5feac98be44e60a7725d227ab9d77b" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; margin-bottom: 12pt; width: 100%; text-align: left; color: #000000;">

            <tr>
              <td style="width: 72pt; vertical-align: top; align: right;">
                <div style="text-align: left; margin-left: 36pt; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt; font-weight: bold;">4.</div>
              </td>
              <td style="width: auto; vertical-align: top;">
                <div style="text-align: justify; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"><u>Headings</u>.</font>&#160; The Section headings used herein are for convenience of reference only, are not part of this Amendment and are not to affect the
                  construction of, or to be taken into consideration in interpreting, this Amendment.</div>
              </td>
            </tr>

        </table>
      </div>
      <div>
        <table cellspacing="0" cellpadding="0" id="z1db6ec5652bb46c58f4c4dd8915ace72" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; margin-bottom: 12pt; width: 100%; text-align: left; color: #000000;">

            <tr>
              <td style="width: 72pt; vertical-align: top; align: right;">
                <div style="text-align: left; margin-left: 36pt; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt; font-weight: bold;">5.</div>
              </td>
              <td style="width: auto; vertical-align: top;">
                <div style="text-align: justify; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"><u>Counterparts</u>.</font>&#160; This Amendment may be executed in any number of counterparts and by different parties hereto on separate counterparts, each of which
                  when so executed and delivered shall be deemed to be an original, but all of which when taken together shall constitute a single instrument. Delivery of an executed counterpart of a signature page of this Amendment by facsimile or any
                  other electronic transmission (including, without limitation, DocuSign, shall be effective as delivery of an original executed counterpart hereof.</div>
              </td>
            </tr>

        </table>
      </div>
      <div style="text-align: justify; text-indent: 36pt; line-height: 13.7pt; margin-bottom: 12pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">IN WITNESS WHEREOF</font>, the parties hereto have executed this Amendment as of the date set forth below:</div>
      <table cellspacing="0" cellpadding="0" id="z43bb0317954e4905bfc6412e62d013eb" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

          <tr>
            <td style="width: 50%; vertical-align: top;">&#160;</td>
            <td style="width: 50%; vertical-align: top;">
              <div style="text-align: left; line-height: 13.3pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt; font-weight: bold;">TRANSACT TECHNOLOGIES INCORPORATED:</div>
              <div style="line-height: 13.3pt;"><font style="line-height: 13.3pt;">&#160;</font></div>
              <div style="line-height: 13.3pt;"><font style="line-height: 13.3pt;">&#160;</font></div>
              <div style="text-align: left; text-indent: 20.5pt; line-height: 13.3pt;"><font style="font-size: 12pt;">By:&#160;&#160; <u>/s/ Bart C. Shuldman</u></font><u><br>
                  </u></div>
              <div style="text-align: left; text-indent: 20.5pt; line-height: 13.3pt;"><u></u><font style="font-size: 12pt; font-family: 'Times New Roman',Times,serif;">Name:</font><font style="text-indent: 0px; font-size: 5.25pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font><font style="font-size: 12pt; font-family: 'Times New Roman',Times,serif;">Bart C. Shuldman</font></div>
              <div style="text-align: left; text-indent: 20.5pt; line-height: 13.3pt;"><font style="font-size: 12pt; font-family: 'Times New Roman',Times,serif;">Title:</font><font style="text-indent: 0px; font-size: 5.14pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="font-size: 12pt; font-family: 'Times New Roman',Times,serif;">Chief Executive Officer</font></div>
              <div style="line-height: 13.3pt;"><font style="line-height: 13.3pt;">&#160;</font></div>
            </td>
          </tr>
          <tr>
            <td style="width: 50%; vertical-align: top;">&#160;</td>
            <td style="width: 50%; vertical-align: top;">
              <div style="text-align: left; line-height: 13.3pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">EXECUTIVE</font>:</div>
              <div style="line-height: 13.3pt;"><font style="line-height: 13.3pt;">&#160;</font></div>
              <div style="line-height: 13.3pt;"><font style="line-height: 13.3pt;">&#160;</font></div>
              <div style="text-align: left; line-height: 13.3pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><u>/s/ Steven A. DeMartino</u><br>
              </div>
              <div style="text-align: left; line-height: 13.3pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">STEVEN A. DEMARTINO</div>
            </td>
          </tr>
          <tr>
            <td style="width: 50%; vertical-align: top;">&#160;</td>
            <td style="width: 50%; vertical-align: top;">&#160;</td>
          </tr>

      </table>
      <div style="line-height: 13.3pt;"><br style="line-height: 13.3pt;">
      </div>
      <div style="text-align: left; line-height: 13.3pt;"><br style="line-height: 13.3pt;">
      </div>
      <div id="DSPFPageFooter">
        <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
        </div>
      </div>
    </div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>4
<FILENAME>ex23_1.htm
<DESCRIPTION>CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM
<TEXT>
<html>
  <head>
    <title></title>
    <!-- Licensed to: TransAct Technologies
         Document created using EDGARfilings PROfile 8.1.1.0
         Copyright 1995 - 2022 Broadridge -->
  </head>
<body bgcolor="#ffffff" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000;">
  <div>
    <hr noshade="noshade" align="center" style="height: 4px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;"></div>
  <div style="text-align: right;"><font style="font-weight: bold;">Exhibit 23.1</font><br>
  </div>
  <div style="text-align: left;">
    <div><br>
    </div>
    <div>
      <div style="text-align: center; line-height: 13.7pt; font-family: 'Times New Roman',Times,serif; font-size: 9pt;"><u>INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM&#8217;S CONSENT</u></div>
      <div style="line-height: 13.7pt; font-size: 9pt; font-family: 'Times New Roman';"><br style="line-height: 13.7pt;">
      </div>
      <div style="text-align: justify; line-height: 13.7pt; font-family: 'Times New Roman'; font-size: 9pt;">
        <div style="text-align: justify; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">We consent to the incorporation by reference in the Registration Statement of TransAct Technologies Incorporated on Form S-8<font style="font-size: 12pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">&#160;</font>[File Nos. 333-203184, 333-132624, 333-170515, 333-221514, and 333-248054] and Form S-3 [File No. 333-248055 and 333-261026] of our report dated
          March 24, 2022, with respect to our audits of the consolidated financial statements of TransAct Technologies Incorporated as of December 31, 2021 and 2020 and for the years ended December 31, 2021 and 2020, which report is included in this Annual
          Report on Form 10-K of TransAct Technologies Incorporated for the year ended December 31, 2021.</div>
      </div>
      <div style="line-height: 13.7pt; font-size: 9pt; font-family: 'Times New Roman';"><font style="font-size: 12pt;"><br style="line-height: 13.7pt;">
        </font> </div>
      <font style="font-size: 12pt;"> </font>
      <div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman'; font-size: 12pt;">/s/ Marcum <font style="font-variant: small-caps;">llp</font></div>
      <font style="font-size: 12pt;"> </font>
      <div style="line-height: 13.7pt; font-size: 9pt; font-family: 'Times New Roman';"><font style="font-size: 12pt;"><br style="line-height: 13.7pt;">
        </font> </div>
      <font style="font-size: 12pt;"> </font>
      <div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman'; font-size: 12pt;">Marcum <font style="font-variant: small-caps;">llp</font></div>
      <font style="font-size: 12pt;"> </font>
      <div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman'; font-size: 12pt;">Hartford, CT</div>
      <font style="font-size: 12pt;"> </font>
      <div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman'; font-size: 12pt;">March 24, 2022</div>
      <br>
      <br>
      <div><br>
        <div><br>
          <div><br>
          </div>
          <div><br>
            <div><br>
              <div><br>
              </div>
              <div>
                <hr noshade="noshade" align="center" style="height: 2px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none;"></div>
              <br>
            </div>
            <br>
          </div>
          <br>
        </div>
        <br>
      </div>
      <br>
    </div>
    <br>
    <br>
    <div><br>
    </div>
    <div><br>
      <br>
    </div>
    <div><br>
      <br>
      <br>
    </div>
    <br>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>5
<FILENAME>ex31_1.htm
<DESCRIPTION>CERTIFICATION OF CEO PURSUANT TO SECTION 302 OF SOX ACT OF 2002
<TEXT>
<html>
  <head>
    <title>&#160;</title>
    <!-- Licensed to: TransAct Technologies
         Document created using EDGARfilings PROfile 8.1.1.0
         Copyright 1995 - 2022 Broadridge -->
  </head>
<body style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;">
  <div id="TRGRSegment:90078aae-4915-41d6-bf26-54983813acb4">
    <div style="text-align: right; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Exhibit 31.1</div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <div style="text-align: center; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">RULE 13a-14(a) CERTIFICATION OF CHIEF EXECUTIVE OFFICER</div>
    <div style="text-align: center; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">IN ACCORDANCE WITH SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002</div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">I, Bart C. Shuldman, certify that:</div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z9149683375df49ef8e77029ea21ee8cb" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">I have reviewed this Annual Report on Form 10-K of TransAct Technologies Incorporated;</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z5b19a7b22152400faed7c99ebd1b442b" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">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;</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z62e6303b44e44bccbc1f0354d7d911b2" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">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;</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z52318f7ed17642898f5c71dbd0a30080" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules
              13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="zd20894a590a146ea9e4f71fe0bd478bb" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(a)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">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;</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="zc8e1e93206cf4ee1a828eabdcb09ea33" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(b)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">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;</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z272ec3c920454dd4bdb49172e25d4e13" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(c)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the
              disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z5778c434288f4b8f9b59e2dc77b1c7d9" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(d)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the
              registrant's fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z1aafbc60dd964835aa234f6accb1b5eb" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's
              auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions):</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z294a0367182b4a619eb476b173bd3c4f" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(a)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely
              affect the registrant's ability to record, process, summarize and report financial information; and</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z47ed403c13534db5bdd4840223eb7222" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(b)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial
              reporting.</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Date:&#160;&#160;March 24, 2022</div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="ze84a044fcda04ce7a69522f40710bc9c" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 47.15%; vertical-align: middle;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
          <td style="width: 52.85%; vertical-align: top;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>
        <tr>
          <td style="width: 47.15%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ Bart C. Shuldman</div>
          </td>
          <td style="width: 52.85%; vertical-align: top;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>
        <tr>
          <td style="width: 47.15%; vertical-align: bottom; border-top: #000000 2px solid;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Bart C. Shuldman</div>
          </td>
          <td style="width: 52.85%; vertical-align: top;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>
        <tr>
          <td style="width: 47.15%; vertical-align: top;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Chairman and Chief Executive Officer</div>
          </td>
          <td style="width: 52.85%; vertical-align: top;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 11.4pt; margin-bottom: 12pt;"><br style="line-height: 11.4pt;">
    </div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>6
<FILENAME>ex31_2.htm
<DESCRIPTION>CERTIFICATION OF CFO PURSUANT TO SECTION 302 OF SOX ACT OF 2002
<TEXT>
<html>
  <head>
    <title>&#160;</title>
    <!-- Licensed to: TransAct Technologies
         Document created using EDGARfilings PROfile 8.1.1.0
         Copyright 1995 - 2022 Broadridge -->
  </head>
<body style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;">
  <div id="TRGRSegment:afd4f310-320f-43fd-9a6b-0170e56827a0">
    <div style="text-align: right; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Exhibit 31.2</div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <div style="text-align: center; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">RULE 13a-14(a) CERTIFICATION OF CHIEF FINANCIAL OFFICER</div>
    <div style="text-align: center; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">IN ACCORANCE WITH SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002</div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">I, Steven A. DeMartino, certify that:</div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z02dd1583d14040b3aeef89f929117a11" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">I have reviewed this Annual Report on Form 10-K of TransAct Technologies Incorporated;</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z2b6389329a4c4dc889e68dde5ad37a7b" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">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;</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z32ef38162fab4e43af85eed8e3c8ce66" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">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;</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z426cf97005ba472e99f47b3ba637a240" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules
              13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z6a50cccc74e14c0ca47e0110cc1660ab" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(a)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">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;</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="zb756a484eec249c19e00eb53a40c04cd" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(b)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">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;</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z10d95cc7b0a84dd8a65ea485ac82ab70" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(c)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the
              disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z45d516b6e3284127a9936514c0a1870e" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(d)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the
              registrant's fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z0d7a61ddc16248deaa65f45b4af39c8c" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's
              auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions):</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z601b89b259a64d35a4e2bb455f5c77f5" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(a)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely
              affect the registrant's ability to record, process, summarize and report financial information; and</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 13.7pt;"><br style="line-height: 13.7pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z0155a17c26d94c17b9bd5240fadee4f7" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 36pt;"></td>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(b)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial
              reporting.</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Date:&#160;&#160;March 24, 2022</div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z15a777444cbe4ea1b918c09a943627d4" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 46.89%; vertical-align: middle;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
          <td style="width: 53.11%; vertical-align: top;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>
        <tr>
          <td style="width: 46.89%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ Steven A. DeMartino</div>
          </td>
          <td style="width: 53.11%; vertical-align: top;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>
        <tr>
          <td style="width: 46.89%; vertical-align: bottom; border-top: #000000 2px solid;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Steven A. DeMartino</div>
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">President, Chief Financial Officer, Treasurer and Secretary</div>
          </td>
          <td style="width: 53.11%; vertical-align: top;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>7
<FILENAME>ex32.htm
<DESCRIPTION>CERTIFICATION OF CEO AND CFO PURSUANT TO SECTION 906 OF SOX ACT OF 2002
<TEXT>
<html>
  <head>
    <title>&#160;</title>
    <!-- Licensed to: TransAct Technologies
         Document created using EDGARfilings PROfile 8.1.1.0
         Copyright 1995 - 2022 Broadridge -->
  </head>
<body style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;">
  <div id="TRGRSegment:24ab536c-f0d7-4991-b0af-c8edcf4b4b0d">
    <div style="text-align: right; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Exhibit 32</div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <div style="text-align: center; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">CERTIFICATION OF CHIEF EXECUTIVE OFFICER AND CHIEF FINANCIAL OFFICER</div>
    <div style="text-align: center; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">PURSUANT TO 18 U.S.C. SECTION 1350</div>
    <div style="text-align: center; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">AS ADOPTED PURSUANT TO</div>
    <div style="text-align: center; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In connection with the Annual Report of TransAct Technologies Incorporated (the &#8220;Company&#8221;) on Form 10-K for the period ending December
      31, 2021, as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), each of the undersigned officers of the Company, certify, pursuant to 18 U.S.C. &#167; 1350, as adopted pursuant to &#167; 906 of the Sarbanes-Oxley Act of 2002,
      that to the best of his knowledge:</div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z1bd403f6640f4d69a611475e6df55324" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 27.1pt;"></td>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z70539752e46c441dac3cad8cfac025a7" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 27.1pt;"></td>
          <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Date:&#160;&#160;March 24, 2022</div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="zee5bb86f5a6241e699ddac2635790dce" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 47.15%; vertical-align: middle;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
          <td style="width: 52.85%; vertical-align: top;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>
        <tr>
          <td style="width: 47.15%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ Bart C. Shuldman</div>
          </td>
          <td style="width: 52.85%; vertical-align: top;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>
        <tr>
          <td style="width: 47.15%; vertical-align: bottom; border-top: #000000 2px solid;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Bart C. Shuldman</div>
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Chairman and Chief Executive Officer</div>
          </td>
          <td style="width: 52.85%; vertical-align: top;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Date: March 24, 2022</div>
    <div style="line-height: 11.4pt;"><br style="line-height: 11.4pt;">
    </div>
    <table cellspacing="0" cellpadding="0" id="z6f0933ce26d2474d9642648702dd1461" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 47.02%; vertical-align: middle;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
          <td style="width: 52.98%; vertical-align: top;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>
        <tr>
          <td style="width: 47.02%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ Steven A. DeMartino</div>
          </td>
          <td style="width: 52.98%; vertical-align: top;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>
        <tr>
          <td style="width: 47.02%; vertical-align: bottom; border-top: #000000 2px solid;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Steven A. DeMartino</div>
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">President, Chief Financial Officer, Treasurer and Secretary</div>
          </td>
          <td style="width: 52.98%; vertical-align: top;">
            <div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;</div>
          </td>
        </tr>

    </table>
    <div style="line-height: 11.4pt; margin-bottom: 12pt;"><br style="line-height: 11.4pt;">
    </div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>8
<FILENAME>tact-20211231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by EDGARfilings PROfile 8.0.0.0 Broadridge-->
<xs:schema targetNamespace="http://transact-tech.com/20211231" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tact="http://transact-tech.com/20211231" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:us-types="http://fasb.org/us-types/2021-01-31" xmlns:srt-types="http://fasb.org/srt-types/2021-01-31" xmlns:dei="http://xbrl.sec.gov/dei/2021q4" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21">
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xlink:type="simple" xlink:href="tact-20211231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="tact-20211231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="tact-20211231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="tact-20211231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:roleType roleURI="http://transact-tech.com/role/DocumentAndEntityInformation" id="DocumentAndEntityInformation">
        <link:definition>000100 - 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://transact-tech.com/role/ConsolidatedBalanceSheets" id="ConsolidatedBalanceSheets">
        <link:definition>010000 - Statement - CONSOLIDATED BALANCE SHEETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical" id="ConsolidatedBalanceSheetsParenthetical">
        <!--Parent Role: CONSOLIDATED BALANCE SHEETS-->
        <link:definition>010100 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfOperations" id="ConsolidatedStatementsOfOperations">
        <link:definition>020000 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveLoss" id="ConsolidatedStatementsOfComprehensiveLoss">
        <link:definition>030000 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" id="ConsolidatedStatementsOfChangesInShareholdersEquity">
        <link:definition>040000 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows" id="ConsolidatedStatementsOfCashFlows">
        <link:definition>050000 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/DescriptionOfBusiness" id="DescriptionOfBusiness">
        <link:definition>060100 - Disclosure - 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://transact-tech.com/role/SummaryOfSignificantAccountingPolicies" id="SummaryOfSignificantAccountingPolicies">
        <link:definition>060200 - 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://transact-tech.com/role/NoteReceivable" id="NoteReceivable">
        <link:definition>060300 - Disclosure - Note receivable</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://transact-tech.com/role/Inventories" id="Inventories">
        <link:definition>060400 - Disclosure - Inventories</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://transact-tech.com/role/FixedAssetsNet" id="FixedAssetsNet">
        <link:definition>060500 - Disclosure - Fixed 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://transact-tech.com/role/IntangibleAssetsNet" id="IntangibleAssetsNet">
        <link:definition>060600 - 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://transact-tech.com/role/AccruedLiabilities" id="AccruedLiabilities">
        <link:definition>060700 - Disclosure - Accrued liabilities</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://transact-tech.com/role/RetirementSavingsPlan" id="RetirementSavingsPlan">
        <link:definition>060800 - Disclosure - Retirement savings plan</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/Borrowings" id="Borrowings">
        <link:definition>060900 - Disclosure - Borrowings</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://transact-tech.com/role/StockIncentivePlans" id="StockIncentivePlans">
        <link:definition>061000 - Disclosure - Stock 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://transact-tech.com/role/IncomeTaxes" id="IncomeTaxes">
        <link:definition>061100 - Disclosure - Income taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/EarningsPerShare" id="EarningsPerShare">
        <link:definition>061200 - Disclosure - Earnings 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://transact-tech.com/role/StockRepurchaseProgram" id="StockRepurchaseProgram">
        <link:definition>061300 - 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://transact-tech.com/role/GeographicAreaInformation" id="GeographicAreaInformation">
        <link:definition>061400 - Disclosure - Geographic area information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/Leases" id="Leases">
        <link:definition>061500 - Disclosure - Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnaudited" id="QuarterlyResultsOfOperationsUnaudited">
        <link:definition>061600 - Disclosure - Quarterly results 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://transact-tech.com/role/SubsequentEvents" id="SubsequentEvents">
        <link:definition>061700 - 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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies" id="SummaryOfSignificantAccountingPoliciesPolicies">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>070200 - 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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables" id="SummaryOfSignificantAccountingPoliciesTables">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>080200 - Disclosure - Summary of significant accounting policies (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://transact-tech.com/role/InventoriesTables" id="InventoriesTables">
        <!--Parent Role: Inventories-->
        <link:definition>080400 - Disclosure - Inventories (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://transact-tech.com/role/FixedAssetsNetTables" id="FixedAssetsNetTables">
        <!--Parent Role: Fixed assets, net-->
        <link:definition>080500 - Disclosure - Fixed 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://transact-tech.com/role/IntangibleAssetsNetTables" id="IntangibleAssetsNetTables">
        <!--Parent Role: Intangible assets, net-->
        <link:definition>080600 - 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://transact-tech.com/role/AccruedLiabilitiesTables" id="AccruedLiabilitiesTables">
        <!--Parent Role: Accrued liabilities-->
        <link:definition>080700 - Disclosure - Accrued liabilities (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://transact-tech.com/role/StockIncentivePlansTables" id="StockIncentivePlansTables">
        <!--Parent Role: Stock incentive plans-->
        <link:definition>081000 - Disclosure - Stock 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://transact-tech.com/role/IncomeTaxesTables" id="IncomeTaxesTables">
        <!--Parent Role: Income taxes-->
        <link:definition>081100 - Disclosure - Income taxes (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/EarningsPerShareTables" id="EarningsPerShareTables">
        <!--Parent Role: Earnings per share-->
        <link:definition>081200 - Disclosure - Earnings 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://transact-tech.com/role/GeographicAreaInformationTables" id="GeographicAreaInformationTables">
        <!--Parent Role: Geographic area information-->
        <link:definition>081400 - Disclosure - Geographic area information (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/LeasesTables" id="LeasesTables">
        <!--Parent Role: Leases-->
        <link:definition>081500 - Disclosure - Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedTables" id="QuarterlyResultsOfOperationsUnauditedTables">
        <!--Parent Role: Quarterly results of operations (unaudited)-->
        <link:definition>081600 - Disclosure - Quarterly results of operations (unaudited) (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://transact-tech.com/role/DescriptionOfBusinessDetails" id="DescriptionOfBusinessDetails">
        <!--Parent Role: Description of business-->
        <link:definition>090100 - Disclosure - Description of business (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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesSegmentReportingDetails" id="SummaryOfSignificantAccountingPoliciesSegmentReportingDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090200 - Disclosure - Summary of significant accounting policies, Segment reporting (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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAllowanceForDoubtfulAccountsDetails" id="SummaryOfSignificantAccountingPoliciesAllowanceForDoubtfulAccountsDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090202 - Disclosure - Summary of significant accounting policies, Allowance for doubtful accounts (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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails" id="SummaryOfSignificantAccountingPoliciesFixedAssetsDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090204 - Disclosure - Summary of significant accounting policies, Fixed 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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails" id="SummaryOfSignificantAccountingPoliciesLeasesDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090206 - Disclosure - Summary of significant accounting policies, Leases (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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails" id="SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090208 - Disclosure - Summary of significant accounting policies, Goodwill and intangible assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" id="SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090210 - Disclosure - Summary of significant accounting policies, Revenue recognition - Disaggregation of 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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails" id="SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090212 - Disclosure - Summary of significant accounting policies, Revenue recognition - Contract balances (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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails" id="SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090214 - Disclosure - Summary of significant accounting policies, Revenue Recognition - Remaining performance obligations (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetailsDefault" id="SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetailsDefault">
        <link:definition>090214 - Disclosure - Summary of significant accounting policies, Revenue Recognition - Remaining performance obligations (Details)Default</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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails" id="SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090216 - Disclosure - Summary of significant accounting policies, Concentration of credit risk (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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails" id="SummaryOfSignificantAccountingPoliciesWarrantyDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090218 - Disclosure - Summary of significant accounting policies, Warranty (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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails" id="SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090220 - Disclosure - Summary of significant accounting policies, Engineering, design and product development (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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingDetails" id="SummaryOfSignificantAccountingPoliciesAdvertisingDetails">
        <!--Parent Role: Summary of significant accounting policies-->
        <link:definition>090222 - Disclosure - Summary of significant accounting policies, Advertising (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://transact-tech.com/role/NoteReceivableDetails" id="NoteReceivableDetails">
        <!--Parent Role: Note receivable-->
        <link:definition>090300 - Disclosure - Note receivable (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://transact-tech.com/role/InventoriesDetails" id="InventoriesDetails">
        <!--Parent Role: Inventories-->
        <link:definition>090400 - Disclosure - Inventories (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://transact-tech.com/role/FixedAssetsNetDetails" id="FixedAssetsNetDetails">
        <!--Parent Role: Fixed assets, net-->
        <link:definition>090500 - Disclosure - Fixed 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://transact-tech.com/role/IntangibleAssetsNetDetails" id="IntangibleAssetsNetDetails">
        <!--Parent Role: Intangible assets, net-->
        <link:definition>090600 - Disclosure - Intangible assets, net (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/AccruedLiabilitiesDetails" id="AccruedLiabilitiesDetails">
        <!--Parent Role: Accrued liabilities-->
        <link:definition>090700 - Disclosure - Accrued 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://transact-tech.com/role/RetirementSavingsPlanDetails" id="RetirementSavingsPlanDetails">
        <!--Parent Role: Retirement savings plan-->
        <link:definition>090800 - Disclosure - Retirement savings plan (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/BorrowingsDetails" id="BorrowingsDetails">
        <!--Parent Role: Borrowings-->
        <link:definition>090900 - Disclosure - Borrowings (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://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails" id="StockIncentivePlansStockIncentivePlansDetails">
        <!--Parent Role: Stock incentive plans-->
        <link:definition>091000 - Disclosure - Stock incentive plans, Stock incentive plans (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://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails" id="StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails">
        <!--Parent Role: Stock incentive plans-->
        <link:definition>091002 - Disclosure - Stock incentive plans, Assumptions used in option valuation calculations (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://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails" id="StockIncentivePlansSharebasedCompensationExpenseDetails">
        <!--Parent Role: Stock incentive plans-->
        <link:definition>091004 - Disclosure - Stock incentive plans, Share-based compensation expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails" id="StockIncentivePlansStockOptionsDetails">
        <!--Parent Role: Stock incentive plans-->
        <link:definition>091006 - Disclosure - Stock incentive plans, Stock options (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/StockIncentivePlansRestrictedStockDetails" id="StockIncentivePlansRestrictedStockDetails">
        <!--Parent Role: Stock incentive plans-->
        <link:definition>091008 - Disclosure - Stock incentive plans, Restricted stock (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails" id="IncomeTaxesComponentsOfIncomeTaxBenefitDetails">
        <!--Parent Role: Income taxes-->
        <link:definition>091100 - Disclosure - Income taxes, Components of income tax benefit (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" id="IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails">
        <!--Parent Role: Income taxes-->
        <link:definition>091102 - Disclosure - Income taxes, Deferred tax assets and liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails" id="IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails">
        <!--Parent Role: Income taxes-->
        <link:definition>091104 - Disclosure - Income taxes, Valuation allowance on deferred tax 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://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails" id="IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails">
        <!--Parent Role: Income taxes-->
        <link:definition>091106 - Disclosure - Income taxes, Statutory to effective tax rate reconciliation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails" id="IncomeTaxesUnrecognizedTaxBenefitsDetails">
        <!--Parent Role: Income taxes-->
        <link:definition>091108 - Disclosure - Income taxes, Unrecognized tax benefits (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://transact-tech.com/role/EarningsPerShareDetails" id="EarningsPerShareDetails">
        <!--Parent Role: Earnings per share-->
        <link:definition>091200 - Disclosure - Earnings 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://transact-tech.com/role/StockRepurchaseProgramDetails" id="StockRepurchaseProgramDetails">
        <!--Parent Role: Stock repurchase program-->
        <link:definition>091300 - Disclosure - Stock repurchase program (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/GeographicAreaInformationDetails" id="GeographicAreaInformationDetails">
        <!--Parent Role: Geographic area information-->
        <link:definition>091400 - Disclosure - Geographic area 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://transact-tech.com/role/LeasesDetails" id="LeasesDetails">
        <!--Parent Role: Leases-->
        <link:definition>091500 - Disclosure - Leases (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://transact-tech.com/role/LeasesDetailsCalc2" id="LeasesDetailsCalc2">
        <!--Parent Role: Leases (Details)-->
        <link:definition>091502 - Disclosure - Leases (Details) Calc 2</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://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails" id="QuarterlyResultsOfOperationsUnauditedDetails">
        <!--Parent Role: Quarterly results of operations (unaudited)-->
        <link:definition>091600 - Disclosure - Quarterly results of operations (unaudited) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:import namespace="http://fasb.org/us-gaap/2021-01-31" schemaLocation="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/dei/2021q4" schemaLocation="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/country/2021" schemaLocation="https://xbrl.sec.gov/country/2021/country-2021.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/currency/2021" schemaLocation="https://xbrl.sec.gov/currency/2021/currency-2021.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/exch/2021" schemaLocation="https://xbrl.sec.gov/exch/2021/exch-2021.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/naics/2021" schemaLocation="https://xbrl.sec.gov/naics/2021/naics-2021.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/sic/2021" schemaLocation="https://xbrl.sec.gov/sic/2021/sic-2021.xsd" />
  <xs:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <xs:import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/stpr/2021" schemaLocation="https://xbrl.sec.gov/stpr/2021/stpr-2021.xsd" />
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
  <xs:import namespace="http://www.xbrl.org/2004/ref" schemaLocation="http://www.xbrl.org/2004/ref-2004-08-10.xsd" />
  <xs:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <xs:import namespace="http://fasb.org/us-types/2021-01-31" schemaLocation="https://xbrl.fasb.org/us-gaap/2021/elts/us-types-2021-01-31.xsd" />
  <xs:import namespace="http://www.xbrl.org/2009/arcrole/fact-explanatoryFact" schemaLocation="http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd" />
  <xs:import namespace="http://fasb.org/srt/2021-01-31" schemaLocation="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd" />
  <xs:import namespace="http://fasb.org/srt-types/2021-01-31" schemaLocation="https://xbrl.fasb.org/srt/2021/elts/srt-types-2021-01-31.xsd" />
  <xs:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd" />
  <xs:element name="EquityIncentivePlan2014Member" id="tact_EquityIncentivePlan2014Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="GainFromEmployeeRetentionCredit" id="tact_GainFromEmployeeRetentionCredit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" />
  <xs:element name="IncreaseDecreaseInEmployeeRetentionCreditReceivable" id="tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" />
  <xs:element name="PaymentsForProceedsFromNotesReceivable" id="tact_PaymentsForProceedsFromNotesReceivable" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" />
  <xs:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" type="xbrli:integerItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="FurnitureAndOfficeEquipmentMember" id="tact_FurnitureAndOfficeEquipmentMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="ComputerSoftwareAndEquipmentMember" id="tact_ComputerSoftwareAndEquipmentMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="FixedAssetsExcludingConstructionInProcessMember" id="tact_FixedAssetsExcludingConstructionInProcessMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="DescriptionOfBusinessAbstract" id="tact_DescriptionOfBusinessAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="NumberOfSoftwareSolutions" id="tact_NumberOfSoftwareSolutions" type="xbrli:integerItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" />
  <xs:element name="Covid19Member" id="tact_Covid19Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="PercentageReductionInWorkforce" id="tact_PercentageReductionInWorkforce" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" />
  <xs:element name="PercentageReductionInSalaries" id="tact_PercentageReductionInSalaries" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" />
  <xs:element name="PercentageReductionInCashRetainerFees" id="tact_PercentageReductionInCashRetainerFees" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" />
  <xs:element name="RevolvingCreditFacilitySienaLendingGroupLlcMember" id="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="PaycheckProtectionProgramLoanMember" id="tact_PaycheckProtectionProgramLoanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="NumberOfManufacturers" id="tact_NumberOfManufacturers" type="xbrli:integerItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" />
  <xs:element name="EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" id="tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" id="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="DebtInstrumentFinancialCovenantEligibleInventory" id="tact_DebtInstrumentFinancialCovenantEligibleInventory" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" xbrli:balance="debit" />
  <xs:element name="PacificRimMember" id="tact_PacificRimMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="InternationalMember" id="tact_InternationalMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree" id="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="ExtendedProductWarrantyPeriod" id="tact_ExtendedProductWarrantyPeriod" type="xbrli:durationItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="InternationalGameTechnologyPlcMember" id="tact_InternationalGameTechnologyPlcMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="NcrCorporationMember" id="tact_NcrCorporationMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="ScientificGamesMember" id="tact_ScientificGamesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="EquityAwardsWeightedAverageRemainingContractualTermAbstract" id="tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="EquityAwardsAggregateIntrinsicValueAbstract" id="tact_EquityAwardsAggregateIntrinsicValueAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" id="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="LotteryMember" id="tact_LotteryMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="FoodServiceTechnologyMember" id="tact_FoodServiceTechnologyMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="TransactServicesGroupMember" id="tact_TransactServicesGroupMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="PrintrexMember" id="tact_PrintrexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="CasinoAndGamingMember" id="tact_CasinoAndGamingMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="PosAutomationAndBankingMember" id="tact_PosAutomationAndBankingMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" id="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" type="xbrli:durationItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="ContractWithCustomerRevenueRecognized" id="tact_ContractWithCustomerRevenueRecognized" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" />
  <xs:element name="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" id="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" />
  <xs:element name="ContractWithCustomerAssetLiabilityNet" id="tact_ContractWithCustomerAssetLiabilityNet" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" id="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" id="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="NoteReceivableInterestRate" id="tact_NoteReceivableInterestRate" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" />
  <xs:element name="NoteReceivableInterestIncome" id="tact_NoteReceivableInterestIncome" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" />
  <xs:element name="FacilityInHamdenConnecticutMember" id="tact_FacilityInHamdenConnecticutMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" id="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" />
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>9
<FILENAME>tact-20211231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by EDGARfilings PROfile 8.0.0.0 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesDetailsCalc2" xlink:type="simple" xlink:href="tact-20211231.xsd#LeasesDetailsCalc2" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#LeasesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShareDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#EarningsPerShareDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#IncomeTaxesComponentsOfIncomeTaxBenefitDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/AccruedLiabilitiesDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#AccruedLiabilitiesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/InventoriesDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#InventoriesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="tact-20211231.xsd#ConsolidatedStatementsOfCashFlows" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveLoss" xlink:type="simple" xlink:href="tact-20211231.xsd#ConsolidatedStatementsOfComprehensiveLoss" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfOperations" xlink:type="simple" xlink:href="tact-20211231.xsd#ConsolidatedStatementsOfOperations" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="tact-20211231.xsd#ConsolidatedBalanceSheets" />
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedBalanceSheets">
    <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="Assets" xlink:title="Assets" />
    <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="AssetsCurrent" xlink:title="AssetsCurrent" />
    <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="OtherAssetsCurrent" xlink:title="OtherAssetsCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="OtherAssetsCurrent" xlink:title="calculation: AssetsCurrent to OtherAssetsCurrent" order="8.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidTaxes" xlink:label="PrepaidTaxes" xlink:title="PrepaidTaxes" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="PrepaidTaxes" xlink:title="calculation: AssetsCurrent to PrepaidTaxes" order="6.0" weight="1.0" />
    <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="CashAndCashEquivalentsAtCarryingValue" xlink:title="CashAndCashEquivalentsAtCarryingValue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="CashAndCashEquivalentsAtCarryingValue" xlink:title="calculation: AssetsCurrent to CashAndCashEquivalentsAtCarryingValue" order="1.0" weight="1.0" />
    <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="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="AccountsReceivableNetCurrent" xlink:title="calculation: AssetsCurrent to AccountsReceivableNetCurrent" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="InventoryNet" xlink:title="calculation: AssetsCurrent to InventoryNet" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetCurrent" xlink:label="NotesAndLoansReceivableNetCurrent" xlink:title="NotesAndLoansReceivableNetCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="NotesAndLoansReceivableNetCurrent" xlink:title="calculation: AssetsCurrent to NotesAndLoansReceivableNetCurrent" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NontradeReceivablesCurrent" xlink:label="NontradeReceivablesCurrent" xlink:title="NontradeReceivablesCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="NontradeReceivablesCurrent" xlink:title="calculation: AssetsCurrent to NontradeReceivablesCurrent" order="5.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="AssetsCurrent" xlink:title="calculation: Assets to AssetsCurrent" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsNoncurrent" xlink:label="AssetsNoncurrent" xlink:title="AssetsNoncurrent" />
    <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="OtherAssetsNoncurrent" xlink:title="OtherAssetsNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsNoncurrent" xlink:to="OtherAssetsNoncurrent" xlink:title="calculation: AssetsNoncurrent to OtherAssetsNoncurrent" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="DeferredIncomeTaxAssetsNet" xlink:title="DeferredIncomeTaxAssetsNet" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsNoncurrent" xlink:to="DeferredIncomeTaxAssetsNet" xlink:title="calculation: AssetsNoncurrent to DeferredIncomeTaxAssetsNet" order="6.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="IntangibleAssetsNetExcludingGoodwill" xlink:title="IntangibleAssetsNetExcludingGoodwill" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsNoncurrent" xlink:to="IntangibleAssetsNetExcludingGoodwill" xlink:title="calculation: AssetsNoncurrent to IntangibleAssetsNetExcludingGoodwill" order="7.0" weight="1.0" />
    <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="Goodwill" xlink:title="Goodwill" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsNoncurrent" xlink:to="Goodwill" xlink:title="calculation: AssetsNoncurrent to Goodwill" order="2.0" weight="1.0" />
    <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="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsNoncurrent" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="calculation: AssetsNoncurrent to PropertyPlantAndEquipmentNet" order="1.0" weight="1.0" />
    <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="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsNoncurrent" xlink:to="OperatingLeaseRightOfUseAsset" xlink:title="calculation: AssetsNoncurrent to OperatingLeaseRightOfUseAsset" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetNoncurrent" xlink:label="NotesAndLoansReceivableNetNoncurrent" xlink:title="NotesAndLoansReceivableNetNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsNoncurrent" xlink:to="NotesAndLoansReceivableNetNoncurrent" xlink:title="calculation: AssetsNoncurrent to NotesAndLoansReceivableNetNoncurrent" order="4.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="AssetsNoncurrent" xlink:title="calculation: Assets to AssetsNoncurrent" order="2.0" weight="1.0" />
    <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="LiabilitiesAndStockholdersEquity" xlink:title="LiabilitiesAndStockholdersEquity" />
    <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="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValue" xlink:label="TreasuryStockValue" xlink:title="TreasuryStockValue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="TreasuryStockValue" xlink:title="calculation: StockholdersEquity to TreasuryStockValue" order="8.0" weight="-1.0" />
    <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="CommonStockValue" xlink:title="CommonStockValue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="CommonStockValue" xlink:title="calculation: StockholdersEquity to CommonStockValue" order="5.0" weight="1.0" />
    <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="RetainedEarningsAccumulatedDeficit" xlink:title="RetainedEarningsAccumulatedDeficit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="RetainedEarningsAccumulatedDeficit" xlink:title="calculation: StockholdersEquity to RetainedEarningsAccumulatedDeficit" order="6.0" weight="1.0" />
    <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="AdditionalPaidInCapitalCommonStock" xlink:title="AdditionalPaidInCapitalCommonStock" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="AdditionalPaidInCapitalCommonStock" xlink:title="calculation: StockholdersEquity to AdditionalPaidInCapitalCommonStock" order="4.0" weight="1.0" />
    <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="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="calculation: StockholdersEquity to AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="7.0" weight="1.0" />
    <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="PreferredStockValue" xlink:title="PreferredStockValue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="PreferredStockValue" xlink:title="calculation: StockholdersEquity to PreferredStockValue" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="StockholdersEquity" xlink:title="calculation: LiabilitiesAndStockholdersEquity to StockholdersEquity" order="2.0" weight="1.0" />
    <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="Liabilities" xlink:title="Liabilities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="LiabilitiesNoncurrent" xlink:title="LiabilitiesNoncurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredRentCredit" xlink:label="DeferredRentCredit" xlink:title="DeferredRentCredit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesNoncurrent" xlink:to="DeferredRentCredit" xlink:title="calculation: LiabilitiesNoncurrent to DeferredRentCredit" order="4.0" weight="1.0" />
    <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="OtherLiabilitiesNoncurrent" xlink:title="OtherLiabilitiesNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesNoncurrent" xlink:to="OtherLiabilitiesNoncurrent" xlink:title="calculation: LiabilitiesNoncurrent to OtherLiabilitiesNoncurrent" order="5.0" weight="1.0" />
    <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="ContractWithCustomerLiabilityNoncurrent" xlink:title="ContractWithCustomerLiabilityNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesNoncurrent" xlink:to="ContractWithCustomerLiabilityNoncurrent" xlink:title="calculation: LiabilitiesNoncurrent to ContractWithCustomerLiabilityNoncurrent" order="1.0" weight="1.0" />
    <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="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesNoncurrent" xlink:to="OperatingLeaseLiabilityNoncurrent" xlink:title="calculation: LiabilitiesNoncurrent to OperatingLeaseLiabilityNoncurrent" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnsecuredLongTermDebt" xlink:label="UnsecuredLongTermDebt" xlink:title="UnsecuredLongTermDebt" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesNoncurrent" xlink:to="UnsecuredLongTermDebt" xlink:title="calculation: LiabilitiesNoncurrent to UnsecuredLongTermDebt" order="3.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Liabilities" xlink:to="LiabilitiesNoncurrent" xlink:title="calculation: Liabilities to LiabilitiesNoncurrent" order="2.0" weight="1.0" />
    <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="LiabilitiesCurrent" xlink:title="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="AccountsPayableCurrent" xlink:title="AccountsPayableCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="AccountsPayableCurrent" xlink:title="calculation: LiabilitiesCurrent to AccountsPayableCurrent" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="AccruedLiabilitiesCurrent" xlink:title="AccruedLiabilitiesCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="AccruedLiabilitiesCurrent" xlink:title="calculation: LiabilitiesCurrent to AccruedLiabilitiesCurrent" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="AccruedIncomeTaxesCurrent" xlink:title="AccruedIncomeTaxesCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="AccruedIncomeTaxesCurrent" xlink:title="calculation: LiabilitiesCurrent to AccruedIncomeTaxesCurrent" order="4.0" weight="1.0" />
    <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="ContractWithCustomerLiabilityCurrent" xlink:title="ContractWithCustomerLiabilityCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="ContractWithCustomerLiabilityCurrent" xlink:title="calculation: LiabilitiesCurrent to ContractWithCustomerLiabilityCurrent" order="6.0" weight="1.0" />
    <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="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="OperatingLeaseLiabilityCurrent" xlink:title="calculation: LiabilitiesCurrent to OperatingLeaseLiabilityCurrent" order="2.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Liabilities" xlink:to="LiabilitiesCurrent" xlink:title="calculation: Liabilities to LiabilitiesCurrent" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="Liabilities" xlink:title="calculation: LiabilitiesAndStockholdersEquity to Liabilities" order="1.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfOperations">
    <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="NetIncomeLoss" xlink:title="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="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <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="NonoperatingIncomeExpense" xlink:title="NonoperatingIncomeExpense" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestIncomeDomesticDeposits" xlink:label="InterestIncomeDomesticDeposits" xlink:title="InterestIncomeDomesticDeposits" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NonoperatingIncomeExpense" xlink:to="InterestIncomeDomesticDeposits" xlink:title="calculation: NonoperatingIncomeExpense to InterestIncomeDomesticDeposits" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestExpense" xlink:label="InterestExpense" xlink:title="InterestExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NonoperatingIncomeExpense" xlink:to="InterestExpense" xlink:title="calculation: NonoperatingIncomeExpense to InterestExpense" order="5.0" weight="-1.0" />
    <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="OtherNonoperatingIncomeExpense" xlink:title="OtherNonoperatingIncomeExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NonoperatingIncomeExpense" xlink:to="OtherNonoperatingIncomeExpense" xlink:title="calculation: NonoperatingIncomeExpense to OtherNonoperatingIncomeExpense" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_GainFromEmployeeRetentionCredit" xlink:label="GainFromEmployeeRetentionCredit" xlink:title="GainFromEmployeeRetentionCredit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NonoperatingIncomeExpense" xlink:to="GainFromEmployeeRetentionCredit" xlink:title="calculation: NonoperatingIncomeExpense to GainFromEmployeeRetentionCredit" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnNonRecourseDebt" xlink:label="GainLossOnNonRecourseDebt" xlink:title="GainLossOnNonRecourseDebt" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NonoperatingIncomeExpense" xlink:to="GainLossOnNonRecourseDebt" xlink:title="calculation: NonoperatingIncomeExpense to GainLossOnNonRecourseDebt" order="6.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="NonoperatingIncomeExpense" xlink:title="calculation: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to NonoperatingIncomeExpense" order="2.0" weight="1.0" />
    <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="OperatingIncomeLoss" xlink:title="OperatingIncomeLoss" />
    <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="GrossProfit" xlink:title="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="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="GrossProfit" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="calculation: GrossProfit to RevenueFromContractWithCustomerExcludingAssessedTax" order="1.0" weight="1.0" />
    <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="CostOfRevenue" xlink:title="CostOfRevenue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="GrossProfit" xlink:to="CostOfRevenue" xlink:title="calculation: GrossProfit to CostOfRevenue" order="2.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="OperatingIncomeLoss" xlink:to="GrossProfit" xlink:title="calculation: OperatingIncomeLoss to GrossProfit" order="1.0" weight="1.0" />
    <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="OperatingExpenses" xlink:title="OperatingExpenses" />
    <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="GeneralAndAdministrativeExpense" xlink:title="GeneralAndAdministrativeExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="OperatingExpenses" xlink:to="GeneralAndAdministrativeExpense" xlink:title="calculation: OperatingExpenses to GeneralAndAdministrativeExpense" order="3.0" weight="1.0" />
    <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="ResearchAndDevelopmentExpense" xlink:title="ResearchAndDevelopmentExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="OperatingExpenses" xlink:to="ResearchAndDevelopmentExpense" xlink:title="calculation: OperatingExpenses to ResearchAndDevelopmentExpense" order="1.0" weight="1.0" />
    <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="SellingAndMarketingExpense" xlink:title="SellingAndMarketingExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="OperatingExpenses" xlink:to="SellingAndMarketingExpense" xlink:title="calculation: OperatingExpenses to SellingAndMarketingExpense" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LitigationSettlementExpense" xlink:label="LitigationSettlementExpense" xlink:title="LitigationSettlementExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="OperatingExpenses" xlink:to="LitigationSettlementExpense" xlink:title="calculation: OperatingExpenses to LitigationSettlementExpense" order="4.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="OperatingIncomeLoss" xlink:to="OperatingExpenses" xlink:title="calculation: OperatingIncomeLoss to OperatingExpenses" order="2.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="OperatingIncomeLoss" xlink:title="calculation: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to OperatingIncomeLoss" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLoss" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="calculation: NetIncomeLoss to IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="1.0" weight="1.0" />
    <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="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLoss" xlink:to="IncomeTaxExpenseBenefit" xlink:title="calculation: NetIncomeLoss to IncomeTaxExpenseBenefit" order="2.0" weight="-1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveLoss">
    <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="ComprehensiveIncomeNetOfTax" xlink:title="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="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="NetIncomeLoss" xlink:title="calculation: ComprehensiveIncomeNetOfTax to NetIncomeLoss" order="1.0" weight="1.0" />
    <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="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="calculation: ComprehensiveIncomeNetOfTax to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="2.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <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="NetCashProvidedByUsedInFinancingActivities" xlink:title="NetCashProvidedByUsedInFinancingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRepurchaseOfEquity" xlink:label="PaymentsForRepurchaseOfEquity" xlink:title="PaymentsForRepurchaseOfEquity" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="PaymentsForRepurchaseOfEquity" xlink:title="calculation: NetCashProvidedByUsedInFinancingActivities to PaymentsForRepurchaseOfEquity" order="10.0" weight="-1.0" />
    <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="RepaymentsOfLinesOfCredit" xlink:title="RepaymentsOfLinesOfCredit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="RepaymentsOfLinesOfCredit" xlink:title="calculation: NetCashProvidedByUsedInFinancingActivities to RepaymentsOfLinesOfCredit" order="8.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="ProceedsFromLinesOfCredit" xlink:title="ProceedsFromLinesOfCredit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="ProceedsFromLinesOfCredit" xlink:title="calculation: NetCashProvidedByUsedInFinancingActivities to ProceedsFromLinesOfCredit" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="PaymentsOfDividendsCommonStock" xlink:title="PaymentsOfDividendsCommonStock" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="PaymentsOfDividendsCommonStock" xlink:title="calculation: NetCashProvidedByUsedInFinancingActivities to PaymentsOfDividendsCommonStock" order="11.0" weight="-1.0" />
    <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="ProceedsFromStockOptionsExercised" xlink:title="ProceedsFromStockOptionsExercised" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="ProceedsFromStockOptionsExercised" xlink:title="calculation: NetCashProvidedByUsedInFinancingActivities to ProceedsFromStockOptionsExercised" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:label="ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:title="ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:title="calculation: NetCashProvidedByUsedInFinancingActivities to ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="PaymentsOfStockIssuanceCosts" xlink:title="PaymentsOfStockIssuanceCosts" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="PaymentsOfStockIssuanceCosts" xlink:title="calculation: NetCashProvidedByUsedInFinancingActivities to PaymentsOfStockIssuanceCosts" order="6.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="ProceedsFromIssuanceOfCommonStock" xlink:title="ProceedsFromIssuanceOfCommonStock" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="ProceedsFromIssuanceOfCommonStock" xlink:title="calculation: NetCashProvidedByUsedInFinancingActivities to ProceedsFromIssuanceOfCommonStock" order="7.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt" xlink:label="ProceedsFromIssuanceOfOtherLongTermDebt" xlink:title="ProceedsFromIssuanceOfOtherLongTermDebt" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="ProceedsFromIssuanceOfOtherLongTermDebt" xlink:title="calculation: NetCashProvidedByUsedInFinancingActivities to ProceedsFromIssuanceOfOtherLongTermDebt" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfLoanCosts" xlink:label="PaymentsOfLoanCosts" xlink:title="PaymentsOfLoanCosts" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="PaymentsOfLoanCosts" xlink:title="calculation: NetCashProvidedByUsedInFinancingActivities to PaymentsOfLoanCosts" order="9.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="NetCashProvidedByUsedInFinancingActivities" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to NetCashProvidedByUsedInFinancingActivities" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="4.0" weight="1.0" />
    <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="NetCashProvidedByUsedInInvestingActivities" xlink:title="NetCashProvidedByUsedInInvestingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForSoftware" xlink:label="PaymentsForSoftware" xlink:title="PaymentsForSoftware" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInInvestingActivities" xlink:to="PaymentsForSoftware" xlink:title="calculation: NetCashProvidedByUsedInInvestingActivities to PaymentsForSoftware" order="1.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:title="ProceedsFromSaleOfPropertyPlantAndEquipment" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInInvestingActivities" xlink:to="ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:title="calculation: NetCashProvidedByUsedInInvestingActivities to ProceedsFromSaleOfPropertyPlantAndEquipment" order="4.0" weight="1.0" />
    <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="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInInvestingActivities" xlink:to="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="calculation: NetCashProvidedByUsedInInvestingActivities to PaymentsToAcquirePropertyPlantAndEquipment" order="3.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PaymentsForProceedsFromNotesReceivable" xlink:label="PaymentsForProceedsFromNotesReceivable" xlink:title="PaymentsForProceedsFromNotesReceivable" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInInvestingActivities" xlink:to="PaymentsForProceedsFromNotesReceivable" xlink:title="calculation: NetCashProvidedByUsedInInvestingActivities to PaymentsForProceedsFromNotesReceivable" order="2.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="NetCashProvidedByUsedInInvestingActivities" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to NetCashProvidedByUsedInInvestingActivities" order="2.0" weight="1.0" />
    <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="NetCashProvidedByUsedInOperatingActivities" xlink:title="NetCashProvidedByUsedInOperatingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="DeferredIncomeTaxExpenseBenefit" xlink:title="DeferredIncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="DeferredIncomeTaxExpenseBenefit" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to DeferredIncomeTaxExpenseBenefit" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="IncreaseDecreaseInOtherOperatingAssets" xlink:title="IncreaseDecreaseInOtherOperatingAssets" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInOtherOperatingAssets" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInOtherOperatingAssets" order="14.0" weight="-1.0" />
    <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="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:title="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" order="20.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DepreciationAndAmortization" xlink:label="DepreciationAndAmortization" xlink:title="DepreciationAndAmortization" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="DepreciationAndAmortization" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to DepreciationAndAmortization" order="8.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnNonRecourseDebt" xlink:label="GainLossOnNonRecourseDebt" xlink:title="GainLossOnNonRecourseDebt" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="GainLossOnNonRecourseDebt" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to GainLossOnNonRecourseDebt" order="16.0" weight="-1.0" />
    <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="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="NetIncomeLoss" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to NetIncomeLoss" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="IncreaseDecreaseInInventories" xlink:title="IncreaseDecreaseInInventories" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInInventories" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInInventories" order="12.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="ForeignCurrencyTransactionGainLossBeforeTax" xlink:title="ForeignCurrencyTransactionGainLossBeforeTax" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="ForeignCurrencyTransactionGainLossBeforeTax" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to ForeignCurrencyTransactionGainLossBeforeTax" order="17.0" weight="-1.0" />
    <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="IncreaseDecreaseInAccountsPayable" xlink:title="IncreaseDecreaseInAccountsPayable" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInAccountsPayable" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInAccountsPayable" order="15.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInReceivables" xlink:label="IncreaseDecreaseInReceivables" xlink:title="IncreaseDecreaseInReceivables" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInReceivables" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInReceivables" order="11.0" weight="-1.0" />
    <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="ShareBasedCompensation" xlink:title="ShareBasedCompensation" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="ShareBasedCompensation" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to ShareBasedCompensation" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:label="IncreaseDecreaseInPrepaidTaxes" xlink:title="IncreaseDecreaseInPrepaidTaxes" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInPrepaidTaxes" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInPrepaidTaxes" order="13.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProvisionForLoanLeaseAndOtherLosses" xlink:label="ProvisionForLoanLeaseAndOtherLosses" xlink:title="ProvisionForLoanLeaseAndOtherLosses" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="ProvisionForLoanLeaseAndOtherLosses" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to ProvisionForLoanLeaseAndOtherLosses" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnSaleOfProperty" xlink:label="GainLossOnSaleOfProperty" xlink:title="GainLossOnSaleOfProperty" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="GainLossOnSaleOfProperty" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to GainLossOnSaleOfProperty" order="6.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable" xlink:label="IncreaseDecreaseInEmployeeRetentionCreditReceivable" xlink:title="IncreaseDecreaseInEmployeeRetentionCreditReceivable" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInEmployeeRetentionCreditReceivable" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInEmployeeRetentionCreditReceivable" order="7.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="NetCashProvidedByUsedInOperatingActivities" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to NetCashProvidedByUsedInOperatingActivities" order="1.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails">
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ContractWithCustomerAssetLiabilityNet" xlink:label="ContractWithCustomerAssetLiabilityNet" xlink:title="ContractWithCustomerAssetLiabilityNet" />
    <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="ContractWithCustomerLiabilityCurrent" xlink:title="ContractWithCustomerLiabilityCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="ContractWithCustomerLiabilityCurrent" xlink:title="calculation: ContractWithCustomerAssetLiabilityNet to ContractWithCustomerLiabilityCurrent" order="4.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:label="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:title="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:title="calculation: ContractWithCustomerAssetLiabilityNet to ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" order="3.0" weight="-1.0" />
    <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="ContractWithCustomerLiabilityNoncurrent" xlink:title="ContractWithCustomerLiabilityNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="ContractWithCustomerLiabilityNoncurrent" xlink:title="calculation: ContractWithCustomerAssetLiabilityNet to ContractWithCustomerLiabilityNoncurrent" order="5.0" weight="-1.0" />
    <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="ContractWithCustomerAssetNetCurrent" xlink:title="ContractWithCustomerAssetNetCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="ContractWithCustomerAssetNetCurrent" xlink:title="calculation: ContractWithCustomerAssetLiabilityNet to ContractWithCustomerAssetNetCurrent" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:label="ContractWithCustomerAssetNetNoncurrent" xlink:title="ContractWithCustomerAssetNetNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="ContractWithCustomerAssetNetNoncurrent" xlink:title="calculation: ContractWithCustomerAssetLiabilityNet to ContractWithCustomerAssetNetNoncurrent" order="1.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/InventoriesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:label="InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:title="InventoryRawMaterialsAndSuppliesNetOfReserves" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:title="calculation: InventoryNet to InventoryRawMaterialsAndSuppliesNetOfReserves" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="InventoryFinishedGoodsNetOfReserves" xlink:title="InventoryFinishedGoodsNetOfReserves" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="InventoryFinishedGoodsNetOfReserves" xlink:title="calculation: InventoryNet to InventoryFinishedGoodsNetOfReserves" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="InventoryWorkInProcessNetOfReserves" xlink:title="InventoryWorkInProcessNetOfReserves" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="InventoryWorkInProcessNetOfReserves" xlink:title="calculation: InventoryNet to InventoryWorkInProcessNetOfReserves" order="2.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/AccruedLiabilitiesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="AccruedLiabilitiesCurrent" xlink:title="AccruedLiabilitiesCurrent" />
    <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="AccruedProfessionalFeesCurrent" xlink:title="AccruedProfessionalFeesCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AccruedLiabilitiesCurrent" xlink:to="AccruedProfessionalFeesCurrent" xlink:title="calculation: AccruedLiabilitiesCurrent to AccruedProfessionalFeesCurrent" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="EmployeeRelatedLiabilitiesCurrent" xlink:title="EmployeeRelatedLiabilitiesCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AccruedLiabilitiesCurrent" xlink:to="EmployeeRelatedLiabilitiesCurrent" xlink:title="calculation: AccruedLiabilitiesCurrent to EmployeeRelatedLiabilitiesCurrent" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyAccrualCurrent" xlink:label="ExtendedProductWarrantyAccrualCurrent" xlink:title="ExtendedProductWarrantyAccrualCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AccruedLiabilitiesCurrent" xlink:to="ExtendedProductWarrantyAccrualCurrent" xlink:title="calculation: AccruedLiabilitiesCurrent to ExtendedProductWarrantyAccrualCurrent" order="2.0" weight="1.0" />
    <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="OtherLiabilitiesCurrent" xlink:title="OtherLiabilitiesCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AccruedLiabilitiesCurrent" xlink:to="OtherLiabilitiesCurrent" xlink:title="calculation: AccruedLiabilitiesCurrent to OtherLiabilitiesCurrent" order="4.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails">
    <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="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="CurrentFederalTaxExpenseBenefit" xlink:title="CurrentFederalTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="CurrentFederalTaxExpenseBenefit" xlink:title="calculation: IncomeTaxExpenseBenefit to CurrentFederalTaxExpenseBenefit" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="CurrentStateAndLocalTaxExpenseBenefit" xlink:title="CurrentStateAndLocalTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="CurrentStateAndLocalTaxExpenseBenefit" xlink:title="calculation: IncomeTaxExpenseBenefit to CurrentStateAndLocalTaxExpenseBenefit" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="CurrentForeignTaxExpenseBenefit" xlink:title="CurrentForeignTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="CurrentForeignTaxExpenseBenefit" xlink:title="calculation: IncomeTaxExpenseBenefit to CurrentForeignTaxExpenseBenefit" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="DeferredFederalIncomeTaxExpenseBenefit" xlink:title="DeferredFederalIncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="DeferredFederalIncomeTaxExpenseBenefit" xlink:title="calculation: IncomeTaxExpenseBenefit to DeferredFederalIncomeTaxExpenseBenefit" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:title="DeferredStateAndLocalIncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:title="calculation: IncomeTaxExpenseBenefit to DeferredStateAndLocalIncomeTaxExpenseBenefit" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="DeferredForeignIncomeTaxExpenseBenefit" xlink:title="DeferredForeignIncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="DeferredForeignIncomeTaxExpenseBenefit" xlink:title="calculation: IncomeTaxExpenseBenefit to DeferredForeignIncomeTaxExpenseBenefit" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="CurrentIncomeTaxExpenseBenefit" xlink:title="CurrentIncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CurrentIncomeTaxExpenseBenefit" xlink:to="CurrentStateAndLocalTaxExpenseBenefit" xlink:title="calculation: CurrentIncomeTaxExpenseBenefit to CurrentStateAndLocalTaxExpenseBenefit" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CurrentIncomeTaxExpenseBenefit" xlink:to="CurrentForeignTaxExpenseBenefit" xlink:title="calculation: CurrentIncomeTaxExpenseBenefit to CurrentForeignTaxExpenseBenefit" order="2.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CurrentIncomeTaxExpenseBenefit" xlink:to="CurrentFederalTaxExpenseBenefit" xlink:title="calculation: CurrentIncomeTaxExpenseBenefit to CurrentFederalTaxExpenseBenefit" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="DeferredIncomeTaxExpenseBenefit" xlink:title="DeferredIncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredIncomeTaxExpenseBenefit" xlink:to="DeferredFederalIncomeTaxExpenseBenefit" xlink:title="calculation: DeferredIncomeTaxExpenseBenefit to DeferredFederalIncomeTaxExpenseBenefit" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredIncomeTaxExpenseBenefit" xlink:to="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:title="calculation: DeferredIncomeTaxExpenseBenefit to DeferredStateAndLocalIncomeTaxExpenseBenefit" order="0.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredIncomeTaxExpenseBenefit" xlink:to="DeferredForeignIncomeTaxExpenseBenefit" xlink:title="calculation: DeferredIncomeTaxExpenseBenefit to DeferredForeignIncomeTaxExpenseBenefit" order="2.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="DeferredTaxAssetsLiabilitiesNet" xlink:title="DeferredTaxAssetsLiabilitiesNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="DeferredTaxAssetsNet" xlink:title="DeferredTaxAssetsNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="DeferredTaxAssetsGross" xlink:title="DeferredTaxAssetsGross" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="DeferredTaxAssetsOther" xlink:title="DeferredTaxAssetsOther" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsOther" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsOther" order="10.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsDeferredIncome" xlink:label="DeferredTaxAssetsDeferredIncome" xlink:title="DeferredTaxAssetsDeferredIncome" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsDeferredIncome" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsDeferredIncome" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:label="DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:title="DeferredTaxAssetsOperatingLossCarryforwardsForeign" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsOperatingLossCarryforwardsForeign" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="DeferredTaxAssetsInventory" xlink:title="DeferredTaxAssetsInventory" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsInventory" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsInventory" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:label="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:title="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" order="8.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:title="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" order="7.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:title="DeferredTaxAssetsTaxCreditCarryforwardsResearch" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsTaxCreditCarryforwardsResearch" order="6.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:label="DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:title="DeferredTaxAssetsOperatingLossCarryforwardsDomestic" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsGross" xlink:to="DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:title="calculation: DeferredTaxAssetsGross to DeferredTaxAssetsOperatingLossCarryforwardsDomestic" order="0.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsNet" xlink:to="DeferredTaxAssetsGross" xlink:title="calculation: DeferredTaxAssetsNet to DeferredTaxAssetsGross" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="DeferredTaxAssetsValuationAllowance" xlink:title="DeferredTaxAssetsValuationAllowance" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsNet" xlink:to="DeferredTaxAssetsValuationAllowance" xlink:title="calculation: DeferredTaxAssetsNet to DeferredTaxAssetsValuationAllowance" order="1.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsLiabilitiesNet" xlink:to="DeferredTaxAssetsNet" xlink:title="calculation: DeferredTaxAssetsLiabilitiesNet to DeferredTaxAssetsNet" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="DeferredTaxLiabilities" xlink:title="DeferredTaxLiabilities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="DeferredTaxLiabilitiesOther" xlink:title="DeferredTaxLiabilitiesOther" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxLiabilities" xlink:to="DeferredTaxLiabilitiesOther" xlink:title="calculation: DeferredTaxLiabilities to DeferredTaxLiabilitiesOther" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:title="DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxLiabilities" xlink:to="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:title="calculation: DeferredTaxLiabilities to DeferredTaxLiabilitiesPropertyPlantAndEquipment" order="0.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DeferredTaxAssetsLiabilitiesNet" xlink:to="DeferredTaxLiabilities" xlink:title="calculation: DeferredTaxAssetsLiabilitiesNet to DeferredTaxLiabilities" order="1.0" weight="-1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="EffectiveIncomeTaxRateContinuingOperations" xlink:title="EffectiveIncomeTaxRateContinuingOperations" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" xlink:label="EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" xlink:title="EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" order="9.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:title="EffectiveIncomeTaxRateReconciliationTaxContingencies" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationTaxContingencies" order="5.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:title="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:title="EffectiveIncomeTaxRateReconciliationOtherAdjustments" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationOtherAdjustments" order="11.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:label="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:title="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" order="10.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:title="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:title="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" order="6.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:title="EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:title="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion" xlink:label="EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion" xlink:title="EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion" order="7.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:label="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:title="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:title="calculation: EffectiveIncomeTaxRateContinuingOperations to EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" order="8.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShareDetails">
    <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="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <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="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="calculation: WeightedAverageNumberOfDilutedSharesOutstanding to IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="2.0" weight="1.0" />
    <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="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="calculation: WeightedAverageNumberOfDilutedSharesOutstanding to WeightedAverageNumberOfSharesOutstandingBasic" order="1.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityPaymentsDueYearFour" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityPaymentsDueYearThree" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityPaymentsDueYearFive" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" order="5.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesDetailsCalc2">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="OperatingLeaseLiability" xlink:title="OperatingLeaseLiability" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="OperatingLeaseLiability" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to OperatingLeaseLiability" order="1.0" weight="1.0" />
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>10
<FILENAME>tact-20211231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by EDGARfilings PROfile 8.0.0.0 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:t1="http://xbrl.org/2005/xbrldt">
  <link:roleRef roleURI="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#QuarterlyResultsOfOperationsUnauditedDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesDetailsCalc2" xlink:type="simple" xlink:href="tact-20211231.xsd#LeasesDetailsCalc2" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#LeasesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/GeographicAreaInformationDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#GeographicAreaInformationDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockRepurchaseProgramDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#StockRepurchaseProgramDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShareDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#EarningsPerShareDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#IncomeTaxesUnrecognizedTaxBenefitsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#IncomeTaxesComponentsOfIncomeTaxBenefitDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansRestrictedStockDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#StockIncentivePlansRestrictedStockDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#StockIncentivePlansStockOptionsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#StockIncentivePlansSharebasedCompensationExpenseDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#StockIncentivePlansStockIncentivePlansDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/BorrowingsDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#BorrowingsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/RetirementSavingsPlanDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#RetirementSavingsPlanDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/AccruedLiabilitiesDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#AccruedLiabilitiesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IntangibleAssetsNetDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#IntangibleAssetsNetDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/FixedAssetsNetDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#FixedAssetsNetDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/InventoriesDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#InventoriesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/NoteReceivableDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#NoteReceivableDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesAdvertisingDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesWarrantyDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetailsDefault" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetailsDefault" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesLeasesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesFixedAssetsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAllowanceForDoubtfulAccountsDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesAllowanceForDoubtfulAccountsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesSegmentReportingDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesSegmentReportingDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/DescriptionOfBusinessDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#DescriptionOfBusinessDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedTables" xlink:type="simple" xlink:href="tact-20211231.xsd#QuarterlyResultsOfOperationsUnauditedTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesTables" xlink:type="simple" xlink:href="tact-20211231.xsd#LeasesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/GeographicAreaInformationTables" xlink:type="simple" xlink:href="tact-20211231.xsd#GeographicAreaInformationTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShareTables" xlink:type="simple" xlink:href="tact-20211231.xsd#EarningsPerShareTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesTables" xlink:type="simple" xlink:href="tact-20211231.xsd#IncomeTaxesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansTables" xlink:type="simple" xlink:href="tact-20211231.xsd#StockIncentivePlansTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/AccruedLiabilitiesTables" xlink:type="simple" xlink:href="tact-20211231.xsd#AccruedLiabilitiesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/IntangibleAssetsNetTables" xlink:type="simple" xlink:href="tact-20211231.xsd#IntangibleAssetsNetTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/FixedAssetsNetTables" xlink:type="simple" xlink:href="tact-20211231.xsd#FixedAssetsNetTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/InventoriesTables" xlink:type="simple" xlink:href="tact-20211231.xsd#InventoriesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" />
  <link:roleRef roleURI="http://transact-tech.com/role/SubsequentEvents" xlink:type="simple" xlink:href="tact-20211231.xsd#SubsequentEvents" />
  <link:roleRef roleURI="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnaudited" xlink:type="simple" xlink:href="tact-20211231.xsd#QuarterlyResultsOfOperationsUnaudited" />
  <link:roleRef roleURI="http://transact-tech.com/role/Leases" xlink:type="simple" xlink:href="tact-20211231.xsd#Leases" />
  <link:roleRef roleURI="http://transact-tech.com/role/GeographicAreaInformation" xlink:type="simple" xlink:href="tact-20211231.xsd#GeographicAreaInformation" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockRepurchaseProgram" xlink:type="simple" xlink:href="tact-20211231.xsd#StockRepurchaseProgram" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShare" xlink:type="simple" xlink:href="tact-20211231.xsd#EarningsPerShare" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxes" xlink:type="simple" xlink:href="tact-20211231.xsd#IncomeTaxes" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlans" xlink:type="simple" xlink:href="tact-20211231.xsd#StockIncentivePlans" />
  <link:roleRef roleURI="http://transact-tech.com/role/Borrowings" xlink:type="simple" xlink:href="tact-20211231.xsd#Borrowings" />
  <link:roleRef roleURI="http://transact-tech.com/role/RetirementSavingsPlan" xlink:type="simple" xlink:href="tact-20211231.xsd#RetirementSavingsPlan" />
  <link:roleRef roleURI="http://transact-tech.com/role/AccruedLiabilities" xlink:type="simple" xlink:href="tact-20211231.xsd#AccruedLiabilities" />
  <link:roleRef roleURI="http://transact-tech.com/role/IntangibleAssetsNet" xlink:type="simple" xlink:href="tact-20211231.xsd#IntangibleAssetsNet" />
  <link:roleRef roleURI="http://transact-tech.com/role/FixedAssetsNet" xlink:type="simple" xlink:href="tact-20211231.xsd#FixedAssetsNet" />
  <link:roleRef roleURI="http://transact-tech.com/role/Inventories" xlink:type="simple" xlink:href="tact-20211231.xsd#Inventories" />
  <link:roleRef roleURI="http://transact-tech.com/role/NoteReceivable" xlink:type="simple" xlink:href="tact-20211231.xsd#NoteReceivable" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPolicies" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPolicies" />
  <link:roleRef roleURI="http://transact-tech.com/role/DescriptionOfBusiness" xlink:type="simple" xlink:href="tact-20211231.xsd#DescriptionOfBusiness" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="tact-20211231.xsd#ConsolidatedStatementsOfCashFlows" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" xlink:type="simple" xlink:href="tact-20211231.xsd#ConsolidatedStatementsOfChangesInShareholdersEquity" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveLoss" xlink:type="simple" xlink:href="tact-20211231.xsd#ConsolidatedStatementsOfComprehensiveLoss" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfOperations" xlink:type="simple" xlink:href="tact-20211231.xsd#ConsolidatedStatementsOfOperations" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="tact-20211231.xsd#ConsolidatedBalanceSheetsParenthetical" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="tact-20211231.xsd#ConsolidatedBalanceSheets" />
  <link:roleRef roleURI="http://transact-tech.com/role/DocumentAndEntityInformation" xlink:type="simple" xlink:href="tact-20211231.xsd#DocumentAndEntityInformation" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/DocumentAndEntityInformation" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedBalanceSheets">
    <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="StatementLineItems" xlink:title="StatementLineItems" />
    <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="AssetsAbstract" xlink:title="AssetsAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AssetsAbstract" xlink:title="definition: StatementLineItems to AssetsAbstract" order="1.0" />
    <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="LiabilitiesAndStockholdersEquityAbstract" xlink:title="LiabilitiesAndStockholdersEquityAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="LiabilitiesAndStockholdersEquityAbstract" xlink:title="definition: StatementLineItems to LiabilitiesAndStockholdersEquityAbstract" order="2.0" />
    <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="LiabilitiesCurrentAbstract" xlink:title="LiabilitiesCurrentAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="LiabilitiesCurrentAbstract" xlink:title="definition: StatementLineItems to LiabilitiesCurrentAbstract" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnsecuredLongTermDebt" xlink:label="UnsecuredLongTermDebt" xlink:title="UnsecuredLongTermDebt" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="UnsecuredLongTermDebt" xlink:title="definition: StatementLineItems to UnsecuredLongTermDebt" order="4.0" />
    <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="ContractWithCustomerLiabilityNoncurrent" xlink:title="ContractWithCustomerLiabilityNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="ContractWithCustomerLiabilityNoncurrent" xlink:title="definition: StatementLineItems to ContractWithCustomerLiabilityNoncurrent" order="5.0" />
    <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="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="OperatingLeaseLiabilityNoncurrent" xlink:title="definition: StatementLineItems to OperatingLeaseLiabilityNoncurrent" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredRentCredit" xlink:label="DeferredRentCredit" xlink:title="DeferredRentCredit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="DeferredRentCredit" xlink:title="definition: StatementLineItems to DeferredRentCredit" order="7.0" />
    <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="OtherLiabilitiesNoncurrent" xlink:title="OtherLiabilitiesNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="OtherLiabilitiesNoncurrent" xlink:title="definition: StatementLineItems to OtherLiabilitiesNoncurrent" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="LiabilitiesNoncurrent" xlink:title="LiabilitiesNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="LiabilitiesNoncurrent" xlink:title="definition: StatementLineItems to LiabilitiesNoncurrent" order="9.0" />
    <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="Liabilities" xlink:title="Liabilities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="Liabilities" xlink:title="definition: StatementLineItems to Liabilities" order="10.0" />
    <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="CommitmentsAndContingencies" xlink:title="CommitmentsAndContingencies" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="CommitmentsAndContingencies" xlink:title="definition: StatementLineItems to CommitmentsAndContingencies" order="11.0" />
    <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="StockholdersEquityAbstract" xlink:title="StockholdersEquityAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockholdersEquityAbstract" xlink:title="definition: StatementLineItems to StockholdersEquityAbstract" order="12.0" />
    <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="LiabilitiesAndStockholdersEquity" xlink:title="LiabilitiesAndStockholdersEquity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="LiabilitiesAndStockholdersEquity" xlink:title="definition: StatementLineItems to LiabilitiesAndStockholdersEquity" order="13.0" />
    <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="PreferredStockValue" xlink:title="PreferredStockValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="PreferredStockValue" xlink:title="definition: StatementLineItems to PreferredStockValue" order="14.0" />
    <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="CommonStockValue" xlink:title="CommonStockValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="CommonStockValue" xlink:title="definition: StatementLineItems to CommonStockValue" order="15.0" />
    <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="AdditionalPaidInCapitalCommonStock" xlink:title="AdditionalPaidInCapitalCommonStock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AdditionalPaidInCapitalCommonStock" xlink:title="definition: StatementLineItems to AdditionalPaidInCapitalCommonStock" order="16.0" />
    <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="RetainedEarningsAccumulatedDeficit" xlink:title="RetainedEarningsAccumulatedDeficit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="RetainedEarningsAccumulatedDeficit" xlink:title="definition: StatementLineItems to RetainedEarningsAccumulatedDeficit" order="17.0" />
    <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="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="definition: StatementLineItems to AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="18.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValue" xlink:label="TreasuryStockValue" xlink:title="TreasuryStockValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="TreasuryStockValue" xlink:title="definition: StatementLineItems to TreasuryStockValue" order="19.0" />
    <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="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockholdersEquity" xlink:title="definition: StatementLineItems to StockholdersEquity" order="20.0" />
    <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="AccountsPayableCurrent" xlink:title="AccountsPayableCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AccountsPayableCurrent" xlink:title="definition: StatementLineItems to AccountsPayableCurrent" order="21.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="AccruedLiabilitiesCurrent" xlink:title="AccruedLiabilitiesCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AccruedLiabilitiesCurrent" xlink:title="definition: StatementLineItems to AccruedLiabilitiesCurrent" order="22.0" />
    <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="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="OperatingLeaseLiabilityCurrent" xlink:title="definition: StatementLineItems to OperatingLeaseLiabilityCurrent" order="23.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="AccruedIncomeTaxesCurrent" xlink:title="AccruedIncomeTaxesCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AccruedIncomeTaxesCurrent" xlink:title="definition: StatementLineItems to AccruedIncomeTaxesCurrent" order="24.0" />
    <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="ContractWithCustomerLiabilityCurrent" xlink:title="ContractWithCustomerLiabilityCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="ContractWithCustomerLiabilityCurrent" xlink:title="definition: StatementLineItems to ContractWithCustomerLiabilityCurrent" order="25.0" />
    <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="LiabilitiesCurrent" xlink:title="LiabilitiesCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="LiabilitiesCurrent" xlink:title="definition: StatementLineItems to LiabilitiesCurrent" order="26.0" />
    <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="AssetsCurrentAbstract" xlink:title="AssetsCurrentAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AssetsCurrentAbstract" xlink:title="definition: StatementLineItems to AssetsCurrentAbstract" order="27.0" />
    <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="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="definition: StatementLineItems to PropertyPlantAndEquipmentNet" order="28.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetNoncurrent" xlink:label="NotesAndLoansReceivableNetNoncurrent" xlink:title="NotesAndLoansReceivableNetNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="NotesAndLoansReceivableNetNoncurrent" xlink:title="definition: StatementLineItems to NotesAndLoansReceivableNetNoncurrent" order="29.0" />
    <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="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="OperatingLeaseRightOfUseAsset" xlink:title="definition: StatementLineItems to OperatingLeaseRightOfUseAsset" order="30.0" />
    <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="Goodwill" xlink:title="Goodwill" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="Goodwill" xlink:title="definition: StatementLineItems to Goodwill" order="31.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="DeferredIncomeTaxAssetsNet" xlink:title="DeferredIncomeTaxAssetsNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="DeferredIncomeTaxAssetsNet" xlink:title="definition: StatementLineItems to DeferredIncomeTaxAssetsNet" order="32.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="IntangibleAssetsNetExcludingGoodwill" xlink:title="IntangibleAssetsNetExcludingGoodwill" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="IntangibleAssetsNetExcludingGoodwill" xlink:title="definition: StatementLineItems to IntangibleAssetsNetExcludingGoodwill" order="33.0" />
    <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="OtherAssetsNoncurrent" xlink:title="OtherAssetsNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="OtherAssetsNoncurrent" xlink:title="definition: StatementLineItems to OtherAssetsNoncurrent" order="34.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsNoncurrent" xlink:label="AssetsNoncurrent" xlink:title="AssetsNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AssetsNoncurrent" xlink:title="definition: StatementLineItems to AssetsNoncurrent" order="35.0" />
    <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="Assets" xlink:title="Assets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="Assets" xlink:title="definition: StatementLineItems to Assets" order="36.0" />
    <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="CashAndCashEquivalentsAtCarryingValue" xlink:title="CashAndCashEquivalentsAtCarryingValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="CashAndCashEquivalentsAtCarryingValue" xlink:title="definition: StatementLineItems to CashAndCashEquivalentsAtCarryingValue" order="37.0" />
    <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="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AccountsReceivableNetCurrent" xlink:title="definition: StatementLineItems to AccountsReceivableNetCurrent" order="38.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NontradeReceivablesCurrent" xlink:label="NontradeReceivablesCurrent" xlink:title="NontradeReceivablesCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="NontradeReceivablesCurrent" xlink:title="definition: StatementLineItems to NontradeReceivablesCurrent" order="39.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetCurrent" xlink:label="NotesAndLoansReceivableNetCurrent" xlink:title="NotesAndLoansReceivableNetCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="NotesAndLoansReceivableNetCurrent" xlink:title="definition: StatementLineItems to NotesAndLoansReceivableNetCurrent" order="40.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="InventoryNet" xlink:title="definition: StatementLineItems to InventoryNet" order="41.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidTaxes" xlink:label="PrepaidTaxes" xlink:title="PrepaidTaxes" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="PrepaidTaxes" xlink:title="definition: StatementLineItems to PrepaidTaxes" order="42.0" />
    <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="OtherAssetsCurrent" xlink:title="OtherAssetsCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="OtherAssetsCurrent" xlink:title="definition: StatementLineItems to OtherAssetsCurrent" order="43.0" />
    <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="AssetsCurrent" xlink:title="AssetsCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AssetsCurrent" xlink:title="definition: StatementLineItems to AssetsCurrent" order="44.0" />
    <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="StatementTable" xlink:title="StatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="StatementLineItems" xlink:to="StatementTable" xlink:title="definition: StatementLineItems to StatementTable" order="45.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="StatementClassOfStockAxis" xlink:title="StatementClassOfStockAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="StatementTable" xlink:to="StatementClassOfStockAxis" xlink:title="definition: StatementTable to StatementClassOfStockAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="ClassOfStockDomain" xlink:title="ClassOfStockDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementClassOfStockAxis" xlink:to="ClassOfStockDomain" xlink:title="definition: StatementClassOfStockAxis to ClassOfStockDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="ClassOfStockDomain_2" xlink:title="ClassOfStockDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementClassOfStockAxis" xlink:to="ClassOfStockDomain_2" xlink:title="definition: StatementClassOfStockAxis to ClassOfStockDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SeriesAPreferredStockMember" xlink:label="SeriesAPreferredStockMember" xlink:title="SeriesAPreferredStockMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ClassOfStockDomain" xlink:to="SeriesAPreferredStockMember" xlink:title="definition: ClassOfStockDomain to SeriesAPreferredStockMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical">
    <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="StatementLineItems" xlink:title="StatementLineItems" />
    <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="LiabilitiesAndStockholdersEquityAbstract" xlink:title="LiabilitiesAndStockholdersEquityAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="LiabilitiesAndStockholdersEquityAbstract" xlink:title="definition: StatementLineItems to LiabilitiesAndStockholdersEquityAbstract" order="1.0" />
    <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="StockholdersEquityAbstract" xlink:title="StockholdersEquityAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockholdersEquityAbstract" xlink:title="definition: StatementLineItems to StockholdersEquityAbstract" order="2.0" />
    <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="PreferredStockParOrStatedValuePerShare" xlink:title="PreferredStockParOrStatedValuePerShare" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="PreferredStockParOrStatedValuePerShare" xlink:title="definition: StatementLineItems to PreferredStockParOrStatedValuePerShare" order="3.0" />
    <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="PreferredStockSharesAuthorized" xlink:title="PreferredStockSharesAuthorized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="PreferredStockSharesAuthorized" xlink:title="definition: StatementLineItems to PreferredStockSharesAuthorized" order="4.0" />
    <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="PreferredStockSharesIssued" xlink:title="PreferredStockSharesIssued" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="PreferredStockSharesIssued" xlink:title="definition: StatementLineItems to PreferredStockSharesIssued" order="5.0" />
    <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="PreferredStockSharesOutstanding" xlink:title="PreferredStockSharesOutstanding" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="PreferredStockSharesOutstanding" xlink:title="definition: StatementLineItems to PreferredStockSharesOutstanding" order="6.0" />
    <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="CommonStockParOrStatedValuePerShare" xlink:title="CommonStockParOrStatedValuePerShare" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="CommonStockParOrStatedValuePerShare" xlink:title="definition: StatementLineItems to CommonStockParOrStatedValuePerShare" order="7.0" />
    <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="CommonStockSharesAuthorized" xlink:title="CommonStockSharesAuthorized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="CommonStockSharesAuthorized" xlink:title="definition: StatementLineItems to CommonStockSharesAuthorized" order="8.0" />
    <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="CommonStockSharesIssued" xlink:title="CommonStockSharesIssued" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="CommonStockSharesIssued" xlink:title="definition: StatementLineItems to CommonStockSharesIssued" order="9.0" />
    <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="CommonStockSharesOutstanding" xlink:title="CommonStockSharesOutstanding" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="CommonStockSharesOutstanding" xlink:title="definition: StatementLineItems to CommonStockSharesOutstanding" order="10.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockShares" xlink:label="TreasuryStockShares" xlink:title="TreasuryStockShares" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="TreasuryStockShares" xlink:title="definition: StatementLineItems to TreasuryStockShares" order="11.0" />
    <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="StatementTable" xlink:title="StatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="StatementLineItems" xlink:to="StatementTable" xlink:title="definition: StatementLineItems to StatementTable" order="12.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="StatementClassOfStockAxis" xlink:title="StatementClassOfStockAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="StatementTable" xlink:to="StatementClassOfStockAxis" xlink:title="definition: StatementTable to StatementClassOfStockAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="ClassOfStockDomain" xlink:title="ClassOfStockDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementClassOfStockAxis" xlink:to="ClassOfStockDomain" xlink:title="definition: StatementClassOfStockAxis to ClassOfStockDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="ClassOfStockDomain_2" xlink:title="ClassOfStockDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementClassOfStockAxis" xlink:to="ClassOfStockDomain_2" xlink:title="definition: StatementClassOfStockAxis to ClassOfStockDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SeriesAPreferredStockMember" xlink:label="SeriesAPreferredStockMember" xlink:title="SeriesAPreferredStockMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ClassOfStockDomain" xlink:to="SeriesAPreferredStockMember" xlink:title="definition: ClassOfStockDomain to SeriesAPreferredStockMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfOperations" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveLoss" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity">
    <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="StatementLineItems" xlink:title="StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="IncreaseDecreaseInStockholdersEquityRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="definition: StatementLineItems to IncreaseDecreaseInStockholdersEquityRollForward" order="1.0" />
    <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="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockholdersEquity" xlink:title="definition: StatementLineItems to StockholdersEquity" order="2.0" />
    <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="CommonStockSharesIssued" xlink:title="CommonStockSharesIssued" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="CommonStockSharesIssued" xlink:title="definition: StatementLineItems to CommonStockSharesIssued" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" xlink:label="StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" xlink:title="StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" xlink:title="definition: StatementLineItems to StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" order="4.0" />
    <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="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="definition: StatementLineItems to StockIssuedDuringPeriodSharesStockOptionsExercised" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:title="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:title="definition: StatementLineItems to StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:title="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:title="definition: StatementLineItems to StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="StockIssuedDuringPeriodValueNewIssues" xlink:title="StockIssuedDuringPeriodValueNewIssues" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockIssuedDuringPeriodValueNewIssues" xlink:title="definition: StatementLineItems to StockIssuedDuringPeriodValueNewIssues" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="StockIssuedDuringPeriodSharesNewIssues" xlink:title="StockIssuedDuringPeriodSharesNewIssues" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockIssuedDuringPeriodSharesNewIssues" xlink:title="definition: StatementLineItems to StockIssuedDuringPeriodSharesNewIssues" order="9.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" xlink:label="AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" xlink:title="AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" xlink:title="definition: StatementLineItems to AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" order="10.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="definition: StatementLineItems to SharesPaidForTaxWithholdingForShareBasedCompensation" order="11.0" />
    <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="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="definition: StatementLineItems to AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" order="12.0" />
    <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="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="definition: StatementLineItems to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="13.0" />
    <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="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="NetIncomeLoss" xlink:title="definition: StatementLineItems to NetIncomeLoss" order="14.0" />
    <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="StatementTable" xlink:title="StatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="StatementLineItems" xlink:to="StatementTable" xlink:title="definition: StatementLineItems to StatementTable" order="15.0" t1:closed="true" t1:contextElement="segment" />
    <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="StatementEquityComponentsAxis" xlink:title="StatementEquityComponentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="StatementTable" xlink:to="StatementEquityComponentsAxis" xlink:title="definition: StatementTable to StatementEquityComponentsAxis" order="1.0" />
    <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="EquityComponentDomain" xlink:title="EquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementEquityComponentsAxis" xlink:to="EquityComponentDomain" xlink:title="definition: StatementEquityComponentsAxis to EquityComponentDomain" order="1.0" />
    <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="EquityComponentDomain_2" xlink:title="EquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementEquityComponentsAxis" xlink:to="EquityComponentDomain_2" xlink:title="definition: StatementEquityComponentsAxis to EquityComponentDomain_2" order="2.0" />
    <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="CommonStockMember" xlink:title="CommonStockMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="CommonStockMember" xlink:title="definition: EquityComponentDomain to CommonStockMember" order="1.0" />
    <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="AdditionalPaidInCapitalMember" xlink:title="AdditionalPaidInCapitalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="AdditionalPaidInCapitalMember" xlink:title="definition: EquityComponentDomain to AdditionalPaidInCapitalMember" order="2.0" />
    <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="RetainedEarningsMember" xlink:title="RetainedEarningsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="RetainedEarningsMember" xlink:title="definition: EquityComponentDomain to RetainedEarningsMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockMember" xlink:label="TreasuryStockMember" xlink:title="TreasuryStockMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="TreasuryStockMember" xlink:title="definition: EquityComponentDomain to TreasuryStockMember" order="4.0" />
    <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="AccumulatedOtherComprehensiveIncomeMember" xlink:title="AccumulatedOtherComprehensiveIncomeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="AccumulatedOtherComprehensiveIncomeMember" xlink:title="definition: EquityComponentDomain to AccumulatedOtherComprehensiveIncomeMember" order="5.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/DescriptionOfBusiness" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPolicies" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/NoteReceivable" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Inventories" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/FixedAssetsNet" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IntangibleAssetsNet" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/AccruedLiabilities" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RetirementSavingsPlan" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Borrowings" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlans" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxes" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShare" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockRepurchaseProgram" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/GeographicAreaInformation" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Leases" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnaudited" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SubsequentEvents" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/InventoriesTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/FixedAssetsNetTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IntangibleAssetsNetTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/AccruedLiabilitiesTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShareTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/GeographicAreaInformationTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/DescriptionOfBusinessDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="DebtInstrumentLineItems" xlink:title="DebtInstrumentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentsAbstract" xlink:label="DebtInstrumentsAbstract" xlink:title="DebtInstrumentsAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentsAbstract" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentsAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="DebtInstrumentFaceAmount" xlink:title="DebtInstrumentFaceAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentFaceAmount" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentFaceAmount" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="definition: DebtInstrumentLineItems to LineOfCreditFacilityMaximumBorrowingCapacity" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="DebtInstrumentTable" xlink:title="DebtInstrumentTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentTable" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentTable" order="4.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="DebtInstrumentAxis" xlink:title="DebtInstrumentAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DebtInstrumentTable" xlink:to="DebtInstrumentAxis" xlink:title="definition: DebtInstrumentTable to DebtInstrumentAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="DebtInstrumentNameDomain" xlink:title="DebtInstrumentNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="DebtInstrumentAxis" xlink:to="DebtInstrumentNameDomain" xlink:title="definition: DebtInstrumentAxis to DebtInstrumentNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="DebtInstrumentNameDomain_2" xlink:title="DebtInstrumentNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="DebtInstrumentAxis" xlink:to="DebtInstrumentNameDomain_2" xlink:title="definition: DebtInstrumentAxis to DebtInstrumentNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PaycheckProtectionProgramLoanMember" xlink:label="PaycheckProtectionProgramLoanMember" xlink:title="PaycheckProtectionProgramLoanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentNameDomain" xlink:to="PaycheckProtectionProgramLoanMember" xlink:title="definition: DebtInstrumentNameDomain to PaycheckProtectionProgramLoanMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:label="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="RevolvingCreditFacilitySienaLendingGroupLlcMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentNameDomain" xlink:to="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="definition: DebtInstrumentNameDomain to RevolvingCreditFacilitySienaLendingGroupLlcMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnusualOrInfrequentItemLineItems" xlink:label="UnusualOrInfrequentItemLineItems" xlink:title="UnusualOrInfrequentItemLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtraordinaryAndUnusualItemsAbstract" xlink:label="ExtraordinaryAndUnusualItemsAbstract" xlink:title="ExtraordinaryAndUnusualItemsAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="UnusualOrInfrequentItemLineItems" xlink:to="ExtraordinaryAndUnusualItemsAbstract" xlink:title="definition: UnusualOrInfrequentItemLineItems to ExtraordinaryAndUnusualItemsAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_NumberOfManufacturers" xlink:label="NumberOfManufacturers" xlink:title="NumberOfManufacturers" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="UnusualOrInfrequentItemLineItems" xlink:to="NumberOfManufacturers" xlink:title="definition: UnusualOrInfrequentItemLineItems to NumberOfManufacturers" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PercentageReductionInWorkforce" xlink:label="PercentageReductionInWorkforce" xlink:title="PercentageReductionInWorkforce" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="UnusualOrInfrequentItemLineItems" xlink:to="PercentageReductionInWorkforce" xlink:title="definition: UnusualOrInfrequentItemLineItems to PercentageReductionInWorkforce" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PercentageReductionInSalaries" xlink:label="PercentageReductionInSalaries" xlink:title="PercentageReductionInSalaries" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="UnusualOrInfrequentItemLineItems" xlink:to="PercentageReductionInSalaries" xlink:title="definition: UnusualOrInfrequentItemLineItems to PercentageReductionInSalaries" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PercentageReductionInCashRetainerFees" xlink:label="PercentageReductionInCashRetainerFees" xlink:title="PercentageReductionInCashRetainerFees" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="UnusualOrInfrequentItemLineItems" xlink:to="PercentageReductionInCashRetainerFees" xlink:title="definition: UnusualOrInfrequentItemLineItems to PercentageReductionInCashRetainerFees" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="ProceedsFromIssuanceOfCommonStock" xlink:title="ProceedsFromIssuanceOfCommonStock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="UnusualOrInfrequentItemLineItems" xlink:to="ProceedsFromIssuanceOfCommonStock" xlink:title="definition: UnusualOrInfrequentItemLineItems to ProceedsFromIssuanceOfCommonStock" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="StockIssuedDuringPeriodSharesNewIssues" xlink:title="StockIssuedDuringPeriodSharesNewIssues" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="UnusualOrInfrequentItemLineItems" xlink:to="StockIssuedDuringPeriodSharesNewIssues" xlink:title="definition: UnusualOrInfrequentItemLineItems to StockIssuedDuringPeriodSharesNewIssues" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_GainFromEmployeeRetentionCredit" xlink:label="GainFromEmployeeRetentionCredit" xlink:title="GainFromEmployeeRetentionCredit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="UnusualOrInfrequentItemLineItems" xlink:to="GainFromEmployeeRetentionCredit" xlink:title="definition: UnusualOrInfrequentItemLineItems to GainFromEmployeeRetentionCredit" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnusualOrInfrequentItemTable" xlink:label="UnusualOrInfrequentItemTable" xlink:title="UnusualOrInfrequentItemTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="UnusualOrInfrequentItemLineItems" xlink:to="UnusualOrInfrequentItemTable" xlink:title="definition: UnusualOrInfrequentItemLineItems to UnusualOrInfrequentItemTable" order="9.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnusualOrInfrequentItemAxis" xlink:label="UnusualOrInfrequentItemAxis" xlink:title="UnusualOrInfrequentItemAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="UnusualOrInfrequentItemTable" xlink:to="UnusualOrInfrequentItemAxis" xlink:title="definition: UnusualOrInfrequentItemTable to UnusualOrInfrequentItemAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnusualOrInfrequentItemDomain" xlink:label="UnusualOrInfrequentItemDomain" xlink:title="UnusualOrInfrequentItemDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="UnusualOrInfrequentItemAxis" xlink:to="UnusualOrInfrequentItemDomain" xlink:title="definition: UnusualOrInfrequentItemAxis to UnusualOrInfrequentItemDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnusualOrInfrequentItemDomain" xlink:label="UnusualOrInfrequentItemDomain_2" xlink:title="UnusualOrInfrequentItemDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="UnusualOrInfrequentItemAxis" xlink:to="UnusualOrInfrequentItemDomain_2" xlink:title="definition: UnusualOrInfrequentItemAxis to UnusualOrInfrequentItemDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_Covid19Member" xlink:label="Covid19Member" xlink:title="Covid19Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="UnusualOrInfrequentItemDomain" xlink:to="Covid19Member" xlink:title="definition: UnusualOrInfrequentItemDomain to Covid19Member" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesSegmentReportingDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAllowanceForDoubtfulAccountsDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="PropertyPlantAndEquipmentLineItems" xlink:title="PropertyPlantAndEquipmentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" xlink:title="PropertyPlantAndEquipmentAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentAbstract" xlink:title="definition: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="PropertyPlantAndEquipmentUsefulLife" xlink:title="PropertyPlantAndEquipmentUsefulLife" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentUsefulLife" xlink:title="definition: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentUsefulLife" order="2.0" />
    <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="Depreciation" xlink:title="Depreciation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="Depreciation" xlink:title="definition: PropertyPlantAndEquipmentLineItems to Depreciation" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="definition: PropertyPlantAndEquipmentLineItems to ScheduleOfPropertyPlantAndEquipmentTable" order="4.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentByTypeAxis" xlink:title="definition: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentByTypeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain" xlink:title="definition: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain_2" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain_2" xlink:title="definition: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ToolsDiesAndMoldsMember" xlink:label="ToolsDiesAndMoldsMember" xlink:title="ToolsDiesAndMoldsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="ToolsDiesAndMoldsMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to ToolsDiesAndMoldsMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="MachineryAndEquipmentMember" xlink:title="MachineryAndEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="MachineryAndEquipmentMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to MachineryAndEquipmentMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_FurnitureAndOfficeEquipmentMember" xlink:label="FurnitureAndOfficeEquipmentMember" xlink:title="FurnitureAndOfficeEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FurnitureAndOfficeEquipmentMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to FurnitureAndOfficeEquipmentMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ComputerSoftwareAndEquipmentMember" xlink:label="ComputerSoftwareAndEquipmentMember" xlink:title="ComputerSoftwareAndEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="ComputerSoftwareAndEquipmentMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to ComputerSoftwareAndEquipmentMember" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="RangeAxis" xlink:title="definition: ScheduleOfPropertyPlantAndEquipmentTable to RangeAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="definition: RangeMember to MinimumMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="LesseeLeaseDescriptionLineItems" xlink:title="LesseeLeaseDescriptionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:label="AssetsAndLiabilitiesLesseeAbstract" xlink:title="AssetsAndLiabilitiesLesseeAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="AssetsAndLiabilitiesLesseeAbstract" xlink:title="definition: LesseeLeaseDescriptionLineItems to AssetsAndLiabilitiesLesseeAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:label="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:title="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:title="definition: LesseeLeaseDescriptionLineItems to IncreaseDecreaseInOperatingLeaseRightOfUseAsset" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="IncreaseDecreaseInOperatingLeaseLiability" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="definition: LesseeLeaseDescriptionLineItems to IncreaseDecreaseInOperatingLeaseLiability" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:label="LesseeOperatingLeaseRemainingLeaseTerm" xlink:title="LesseeOperatingLeaseRemainingLeaseTerm" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="LesseeOperatingLeaseRemainingLeaseTerm" xlink:title="definition: LesseeLeaseDescriptionLineItems to LesseeOperatingLeaseRemainingLeaseTerm" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:label="LesseeOperatingLeaseRenewalTerm" xlink:title="LesseeOperatingLeaseRenewalTerm" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="LesseeOperatingLeaseRenewalTerm" xlink:title="definition: LesseeLeaseDescriptionLineItems to LesseeOperatingLeaseRenewalTerm" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="LesseeLeaseDescriptionTable" xlink:title="LesseeLeaseDescriptionTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="LesseeLeaseDescriptionTable" xlink:title="definition: LesseeLeaseDescriptionLineItems to LesseeLeaseDescriptionTable" order="6.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="LesseeLeaseDescriptionTable" xlink:to="PropertyPlantAndEquipmentByTypeAxis" xlink:title="definition: LesseeLeaseDescriptionTable to PropertyPlantAndEquipmentByTypeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain" xlink:title="definition: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain_2" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain_2" xlink:title="definition: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BuildingMember" xlink:label="BuildingMember" xlink:title="BuildingMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="BuildingMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to BuildingMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_FacilityInHamdenConnecticutMember" xlink:label="FacilityInHamdenConnecticutMember" xlink:title="FacilityInHamdenConnecticutMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FacilityInHamdenConnecticutMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to FacilityInHamdenConnecticutMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="LesseeLeaseDescriptionTable" xlink:to="RangeAxis" xlink:title="definition: LesseeLeaseDescriptionTable to RangeAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="definition: RangeMember to MinimumMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails">
    <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="DisaggregationOfRevenueLineItems" xlink:title="DisaggregationOfRevenueLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="DisaggregationOfRevenueAbstract" xlink:title="DisaggregationOfRevenueAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="DisaggregationOfRevenueAbstract" xlink:title="definition: DisaggregationOfRevenueLineItems to DisaggregationOfRevenueAbstract" order="1.0" />
    <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="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="definition: DisaggregationOfRevenueLineItems to RevenueFromContractWithCustomerExcludingAssessedTax" order="2.0" />
    <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="DisaggregationOfRevenueTable" xlink:title="DisaggregationOfRevenueTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="DisaggregationOfRevenueTable" xlink:title="definition: DisaggregationOfRevenueLineItems to DisaggregationOfRevenueTable" order="3.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="ProductOrServiceAxis" xlink:title="ProductOrServiceAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DisaggregationOfRevenueTable" xlink:to="ProductOrServiceAxis" xlink:title="definition: DisaggregationOfRevenueTable to ProductOrServiceAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="ProductsAndServicesDomain" xlink:title="ProductsAndServicesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ProductOrServiceAxis" xlink:to="ProductsAndServicesDomain" xlink:title="definition: ProductOrServiceAxis to ProductsAndServicesDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="ProductsAndServicesDomain_2" xlink:title="ProductsAndServicesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ProductOrServiceAxis" xlink:to="ProductsAndServicesDomain_2" xlink:title="definition: ProductOrServiceAxis to ProductsAndServicesDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_FoodServiceTechnologyMember" xlink:label="FoodServiceTechnologyMember" xlink:title="FoodServiceTechnologyMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductsAndServicesDomain" xlink:to="FoodServiceTechnologyMember" xlink:title="definition: ProductsAndServicesDomain to FoodServiceTechnologyMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PosAutomationAndBankingMember" xlink:label="PosAutomationAndBankingMember" xlink:title="PosAutomationAndBankingMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductsAndServicesDomain" xlink:to="PosAutomationAndBankingMember" xlink:title="definition: ProductsAndServicesDomain to PosAutomationAndBankingMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_CasinoAndGamingMember" xlink:label="CasinoAndGamingMember" xlink:title="CasinoAndGamingMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductsAndServicesDomain" xlink:to="CasinoAndGamingMember" xlink:title="definition: ProductsAndServicesDomain to CasinoAndGamingMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_LotteryMember" xlink:label="LotteryMember" xlink:title="LotteryMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductsAndServicesDomain" xlink:to="LotteryMember" xlink:title="definition: ProductsAndServicesDomain to LotteryMember" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PrintrexMember" xlink:label="PrintrexMember" xlink:title="PrintrexMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductsAndServicesDomain" xlink:to="PrintrexMember" xlink:title="definition: ProductsAndServicesDomain to PrintrexMember" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_TransactServicesGroupMember" xlink:label="TransactServicesGroupMember" xlink:title="TransactServicesGroupMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductsAndServicesDomain" xlink:to="TransactServicesGroupMember" xlink:title="definition: ProductsAndServicesDomain to TransactServicesGroupMember" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DisaggregationOfRevenueTable" xlink:to="StatementGeographicalAxis" xlink:title="definition: DisaggregationOfRevenueTable to StatementGeographicalAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain_2" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain_2" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="definition: SegmentGeographicalDomain to US" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_InternationalMember" xlink:label="InternationalMember" xlink:title="InternationalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="InternationalMember" xlink:title="definition: SegmentGeographicalDomain to InternationalMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails">
    <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="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenuePerformanceObligationAbstract" xlink:label="RevenuePerformanceObligationAbstract" xlink:title="RevenuePerformanceObligationAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenuePerformanceObligationAbstract" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenuePerformanceObligationAbstract" order="1.0" />
    <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="RevenueRemainingPerformanceObligation" xlink:title="RevenueRemainingPerformanceObligation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenueRemainingPerformanceObligation" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenueRemainingPerformanceObligation" order="2.0" />
    <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="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" order="3.0" />
    <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="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" order="4.0" t1:closed="true" t1:contextElement="segment" />
    <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="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetailsDefault">
    <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="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenuePerformanceObligationAbstract" xlink:label="RevenuePerformanceObligationAbstract" xlink:title="RevenuePerformanceObligationAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenuePerformanceObligationAbstract" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenuePerformanceObligationAbstract" order="1.0" />
    <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="RevenueRemainingPerformanceObligation" xlink:title="RevenueRemainingPerformanceObligation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenueRemainingPerformanceObligation" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenueRemainingPerformanceObligation" order="2.0" />
    <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="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" order="3.0" />
    <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="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" order="4.0" t1:closed="true" t1:contextElement="segment" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="ConcentrationRiskLineItems" xlink:title="ConcentrationRiskLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="RisksAndUncertaintiesAbstract" xlink:title="RisksAndUncertaintiesAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskLineItems" xlink:to="RisksAndUncertaintiesAbstract" xlink:title="definition: ConcentrationRiskLineItems to RisksAndUncertaintiesAbstract" order="1.0" />
    <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="ConcentrationRiskPercentage1" xlink:title="ConcentrationRiskPercentage1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskLineItems" xlink:to="ConcentrationRiskPercentage1" xlink:title="definition: ConcentrationRiskLineItems to ConcentrationRiskPercentage1" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTable" xlink:label="ConcentrationRiskTable" xlink:title="ConcentrationRiskTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ConcentrationRiskLineItems" xlink:to="ConcentrationRiskTable" xlink:title="definition: ConcentrationRiskLineItems to ConcentrationRiskTable" order="3.0" t1:closed="true" t1:contextElement="segment" />
    <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="ConcentrationRiskByBenchmarkAxis" xlink:title="ConcentrationRiskByBenchmarkAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ConcentrationRiskTable" xlink:to="ConcentrationRiskByBenchmarkAxis" xlink:title="definition: ConcentrationRiskTable to ConcentrationRiskByBenchmarkAxis" order="1.0" />
    <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="ConcentrationRiskBenchmarkDomain" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="ConcentrationRiskBenchmarkDomain" xlink:title="definition: ConcentrationRiskByBenchmarkAxis to ConcentrationRiskBenchmarkDomain" order="1.0" />
    <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="ConcentrationRiskBenchmarkDomain_2" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="ConcentrationRiskBenchmarkDomain_2" xlink:title="definition: ConcentrationRiskByBenchmarkAxis to ConcentrationRiskBenchmarkDomain_2" order="2.0" />
    <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="AccountsReceivableMember" xlink:title="AccountsReceivableMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="AccountsReceivableMember" xlink:title="definition: ConcentrationRiskBenchmarkDomain to AccountsReceivableMember" order="1.0" />
    <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="SalesRevenueNetMember" xlink:title="SalesRevenueNetMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="SalesRevenueNetMember" xlink:title="definition: ConcentrationRiskBenchmarkDomain to SalesRevenueNetMember" order="2.0" />
    <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="ConcentrationRiskByTypeAxis" xlink:title="ConcentrationRiskByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ConcentrationRiskTable" xlink:to="ConcentrationRiskByTypeAxis" xlink:title="definition: ConcentrationRiskTable to ConcentrationRiskByTypeAxis" order="2.0" />
    <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="ConcentrationRiskTypeDomain" xlink:title="ConcentrationRiskTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="ConcentrationRiskTypeDomain" xlink:title="definition: ConcentrationRiskByTypeAxis to ConcentrationRiskTypeDomain" order="1.0" />
    <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="ConcentrationRiskTypeDomain_2" xlink:title="ConcentrationRiskTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="ConcentrationRiskTypeDomain_2" xlink:title="definition: ConcentrationRiskByTypeAxis to ConcentrationRiskTypeDomain_2" order="2.0" />
    <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="CustomerConcentrationRiskMember" xlink:title="CustomerConcentrationRiskMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskTypeDomain" xlink:to="CustomerConcentrationRiskMember" xlink:title="definition: ConcentrationRiskTypeDomain to CustomerConcentrationRiskMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MajorCustomersAxis" xlink:label="MajorCustomersAxis" xlink:title="MajorCustomersAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ConcentrationRiskTable" xlink:to="MajorCustomersAxis" xlink:title="definition: ConcentrationRiskTable to MajorCustomersAxis" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="NameOfMajorCustomerDomain" xlink:title="NameOfMajorCustomerDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="MajorCustomersAxis" xlink:to="NameOfMajorCustomerDomain" xlink:title="definition: MajorCustomersAxis to NameOfMajorCustomerDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="NameOfMajorCustomerDomain_2" xlink:title="NameOfMajorCustomerDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="MajorCustomersAxis" xlink:to="NameOfMajorCustomerDomain_2" xlink:title="definition: MajorCustomersAxis to NameOfMajorCustomerDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ScientificGamesMember" xlink:label="ScientificGamesMember" xlink:title="ScientificGamesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="NameOfMajorCustomerDomain" xlink:to="ScientificGamesMember" xlink:title="definition: NameOfMajorCustomerDomain to ScientificGamesMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_InternationalGameTechnologyPlcMember" xlink:label="InternationalGameTechnologyPlcMember" xlink:title="InternationalGameTechnologyPlcMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="NameOfMajorCustomerDomain" xlink:to="InternationalGameTechnologyPlcMember" xlink:title="definition: NameOfMajorCustomerDomain to InternationalGameTechnologyPlcMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_NcrCorporationMember" xlink:label="NcrCorporationMember" xlink:title="NcrCorporationMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="NameOfMajorCustomerDomain" xlink:to="NcrCorporationMember" xlink:title="definition: NameOfMajorCustomerDomain to NcrCorporationMember" order="3.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductWarrantyLiabilityLineItems" xlink:label="ProductWarrantyLiabilityLineItems" xlink:title="ProductWarrantyLiabilityLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyDisclosureAbstract" xlink:label="ExtendedProductWarrantyDisclosureAbstract" xlink:title="ExtendedProductWarrantyDisclosureAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductWarrantyLiabilityLineItems" xlink:to="ExtendedProductWarrantyDisclosureAbstract" xlink:title="definition: ProductWarrantyLiabilityLineItems to ExtendedProductWarrantyDisclosureAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ExtendedProductWarrantyPeriod" xlink:label="ExtendedProductWarrantyPeriod" xlink:title="ExtendedProductWarrantyPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductWarrantyLiabilityLineItems" xlink:to="ExtendedProductWarrantyPeriod" xlink:title="definition: ProductWarrantyLiabilityLineItems to ExtendedProductWarrantyPeriod" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MovementInExtendedProductWarrantyAccrualRollForward" xlink:label="MovementInExtendedProductWarrantyAccrualRollForward" xlink:title="MovementInExtendedProductWarrantyAccrualRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductWarrantyLiabilityLineItems" xlink:to="MovementInExtendedProductWarrantyAccrualRollForward" xlink:title="definition: ProductWarrantyLiabilityLineItems to MovementInExtendedProductWarrantyAccrualRollForward" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyAccrualCurrent" xlink:label="ExtendedProductWarrantyAccrualCurrent" xlink:title="ExtendedProductWarrantyAccrualCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductWarrantyLiabilityLineItems" xlink:to="ExtendedProductWarrantyAccrualCurrent" xlink:title="definition: ProductWarrantyLiabilityLineItems to ExtendedProductWarrantyAccrualCurrent" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyAccrualNoncurrent" xlink:label="ExtendedProductWarrantyAccrualNoncurrent" xlink:title="ExtendedProductWarrantyAccrualNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductWarrantyLiabilityLineItems" xlink:to="ExtendedProductWarrantyAccrualNoncurrent" xlink:title="definition: ProductWarrantyLiabilityLineItems to ExtendedProductWarrantyAccrualNoncurrent" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyAccrual" xlink:label="ExtendedProductWarrantyAccrual" xlink:title="ExtendedProductWarrantyAccrual" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductWarrantyLiabilityLineItems" xlink:to="ExtendedProductWarrantyAccrual" xlink:title="definition: ProductWarrantyLiabilityLineItems to ExtendedProductWarrantyAccrual" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued" xlink:label="ExtendedProductWarrantyAccrualWarrantiesIssued" xlink:title="ExtendedProductWarrantyAccrualWarrantiesIssued" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductWarrantyLiabilityLineItems" xlink:to="ExtendedProductWarrantyAccrualWarrantiesIssued" xlink:title="definition: ProductWarrantyLiabilityLineItems to ExtendedProductWarrantyAccrualWarrantiesIssued" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyAccrualPayments" xlink:label="ExtendedProductWarrantyAccrualPayments" xlink:title="ExtendedProductWarrantyAccrualPayments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductWarrantyLiabilityLineItems" xlink:to="ExtendedProductWarrantyAccrualPayments" xlink:title="definition: ProductWarrantyLiabilityLineItems to ExtendedProductWarrantyAccrualPayments" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductWarrantyLiabilityTable" xlink:label="ProductWarrantyLiabilityTable" xlink:title="ProductWarrantyLiabilityTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ProductWarrantyLiabilityLineItems" xlink:to="ProductWarrantyLiabilityTable" xlink:title="definition: ProductWarrantyLiabilityLineItems to ProductWarrantyLiabilityTable" order="9.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ProductWarrantyLiabilityTable" xlink:to="RangeAxis" xlink:title="definition: ProductWarrantyLiabilityTable to RangeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="1.0" />
    <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="BalanceSheetLocationAxis" xlink:title="BalanceSheetLocationAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ProductWarrantyLiabilityTable" xlink:to="BalanceSheetLocationAxis" xlink:title="definition: ProductWarrantyLiabilityTable to BalanceSheetLocationAxis" order="2.0" />
    <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="BalanceSheetLocationDomain" xlink:title="BalanceSheetLocationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="BalanceSheetLocationAxis" xlink:to="BalanceSheetLocationDomain" xlink:title="definition: BalanceSheetLocationAxis to BalanceSheetLocationDomain" order="1.0" />
    <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="BalanceSheetLocationDomain_2" xlink:title="BalanceSheetLocationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="BalanceSheetLocationAxis" xlink:to="BalanceSheetLocationDomain_2" xlink:title="definition: BalanceSheetLocationAxis to BalanceSheetLocationDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesMember" xlink:label="OtherLiabilitiesMember" xlink:title="OtherLiabilitiesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="BalanceSheetLocationDomain" xlink:to="OtherLiabilitiesMember" xlink:title="definition: BalanceSheetLocationDomain to OtherLiabilitiesMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/NoteReceivableDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/InventoriesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/FixedAssetsNetDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="PropertyPlantAndEquipmentLineItems" xlink:title="PropertyPlantAndEquipmentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" xlink:label="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:title="PropertyPlantAndEquipmentNetByTypeAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:title="definition: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentNetByTypeAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="PropertyPlantAndEquipmentGross" xlink:title="PropertyPlantAndEquipmentGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentGross" xlink:title="definition: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentGross" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="definition: PropertyPlantAndEquipmentLineItems to AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="3.0" />
    <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="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="definition: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentNet" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="definition: PropertyPlantAndEquipmentLineItems to ScheduleOfPropertyPlantAndEquipmentTable" order="5.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentByTypeAxis" xlink:title="definition: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentByTypeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain" xlink:title="definition: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain_2" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain_2" xlink:title="definition: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="MachineryAndEquipmentMember" xlink:title="MachineryAndEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="MachineryAndEquipmentMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to MachineryAndEquipmentMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_FurnitureAndOfficeEquipmentMember" xlink:label="FurnitureAndOfficeEquipmentMember" xlink:title="FurnitureAndOfficeEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FurnitureAndOfficeEquipmentMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to FurnitureAndOfficeEquipmentMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ComputerSoftwareAndEquipmentMember" xlink:label="ComputerSoftwareAndEquipmentMember" xlink:title="ComputerSoftwareAndEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="ComputerSoftwareAndEquipmentMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to ComputerSoftwareAndEquipmentMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="LeaseholdImprovementsMember" xlink:title="LeaseholdImprovementsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="LeaseholdImprovementsMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to LeaseholdImprovementsMember" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_FixedAssetsExcludingConstructionInProcessMember" xlink:label="FixedAssetsExcludingConstructionInProcessMember" xlink:title="FixedAssetsExcludingConstructionInProcessMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FixedAssetsExcludingConstructionInProcessMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to FixedAssetsExcludingConstructionInProcessMember" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConstructionInProgressMember" xlink:label="ConstructionInProgressMember" xlink:title="ConstructionInProgressMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="ConstructionInProgressMember" xlink:title="definition: PropertyPlantAndEquipmentTypeDomain to ConstructionInProgressMember" order="6.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IntangibleAssetsNetDetails">
    <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="FiniteLivedIntangibleAssetsLineItems" xlink:title="FiniteLivedIntangibleAssetsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="FiniteLivedIntangibleAssetsNetAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsNetAbstract" order="1.0" />
    <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="AmortizationOfIntangibleAssets" xlink:title="AmortizationOfIntangibleAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="AmortizationOfIntangibleAssets" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to AmortizationOfIntangibleAssets" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:title="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" order="3.0" />
    <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="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="4.0" />
    <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="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" order="5.0" />
    <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="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree" xlink:label="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree" xlink:title="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree" order="7.0" />
    <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="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" order="9.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" order="10.0" />
    <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="FiniteLivedIntangibleAssetsGross" xlink:title="FiniteLivedIntangibleAssetsGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsGross" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsGross" order="11.0" />
    <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="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:title="FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsAccumulatedAmortization" order="12.0" />
    <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="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="definition: FiniteLivedIntangibleAssetsLineItems to ScheduleOfFiniteLivedIntangibleAssetsTable" order="13.0" t1:closed="true" t1:contextElement="segment" />
    <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="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="definition: ScheduleOfFiniteLivedIntangibleAssetsTable to FiniteLivedIntangibleAssetsByMajorClassAxis" order="1.0" />
    <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="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="definition: FiniteLivedIntangibleAssetsByMajorClassAxis to FiniteLivedIntangibleAssetsMajorClassNameDomain" order="1.0" />
    <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="FiniteLivedIntangibleAssetsMajorClassNameDomain_2" xlink:title="FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="FiniteLivedIntangibleAssetsMajorClassNameDomain_2" xlink:title="definition: FiniteLivedIntangibleAssetsByMajorClassAxis to FiniteLivedIntangibleAssetsMajorClassNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="TechnologyBasedIntangibleAssetsMember" xlink:title="TechnologyBasedIntangibleAssetsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="TechnologyBasedIntangibleAssetsMember" xlink:title="definition: FiniteLivedIntangibleAssetsMajorClassNameDomain to TechnologyBasedIntangibleAssetsMember" order="1.0" />
    <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="CustomerRelationshipsMember" xlink:title="CustomerRelationshipsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="CustomerRelationshipsMember" xlink:title="definition: FiniteLivedIntangibleAssetsMajorClassNameDomain to CustomerRelationshipsMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TrademarksMember" xlink:label="TrademarksMember" xlink:title="TrademarksMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="TrademarksMember" xlink:title="definition: FiniteLivedIntangibleAssetsMajorClassNameDomain to TrademarksMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="NoncompeteAgreementsMember" xlink:title="NoncompeteAgreementsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="NoncompeteAgreementsMember" xlink:title="definition: FiniteLivedIntangibleAssetsMajorClassNameDomain to NoncompeteAgreementsMember" order="4.0" />
    <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="PatentsMember" xlink:title="PatentsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="PatentsMember" xlink:title="definition: FiniteLivedIntangibleAssetsMajorClassNameDomain to PatentsMember" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="OtherIntangibleAssetsMember" xlink:title="OtherIntangibleAssetsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="OtherIntangibleAssetsMember" xlink:title="definition: FiniteLivedIntangibleAssetsMajorClassNameDomain to OtherIntangibleAssetsMember" order="6.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/AccruedLiabilitiesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RetirementSavingsPlanDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/BorrowingsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="DebtInstrumentLineItems" xlink:title="DebtInstrumentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityAbstract" xlink:label="LineOfCreditFacilityAbstract" xlink:title="LineOfCreditFacilityAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="LineOfCreditFacilityAbstract" xlink:title="definition: DebtInstrumentLineItems to LineOfCreditFacilityAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="definition: DebtInstrumentLineItems to LineOfCreditFacilityMaximumBorrowingCapacity" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="DebtInstrumentFaceAmount" xlink:title="DebtInstrumentFaceAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentFaceAmount" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentFaceAmount" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityExpirationDate1" xlink:label="LineOfCreditFacilityExpirationDate1" xlink:title="LineOfCreditFacilityExpirationDate1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="LineOfCreditFacilityExpirationDate1" xlink:title="definition: DebtInstrumentLineItems to LineOfCreditFacilityExpirationDate1" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="DebtInstrumentBasisSpreadOnVariableRate1" xlink:title="DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentBasisSpreadOnVariableRate1" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentBasisSpreadOnVariableRate1" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="DebtInstrumentInterestRateStatedPercentage" xlink:title="DebtInstrumentInterestRateStatedPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentInterestRateStatedPercentage" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentInterestRateStatedPercentage" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="DeferredFinanceCostsGross" xlink:title="DeferredFinanceCostsGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DeferredFinanceCostsGross" xlink:title="definition: DebtInstrumentLineItems to DeferredFinanceCostsGross" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:title="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:title="definition: DebtInstrumentLineItems to LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:label="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:title="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentFinancialCovenantEligibleAccountsReceivable" order="9.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventory" xlink:label="DebtInstrumentFinancialCovenantEligibleInventory" xlink:title="DebtInstrumentFinancialCovenantEligibleInventory" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentFinancialCovenantEligibleInventory" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentFinancialCovenantEligibleInventory" order="10.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:label="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:title="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" order="11.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:label="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:title="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" order="12.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SecuredDebt" xlink:label="SecuredDebt" xlink:title="SecuredDebt" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="SecuredDebt" xlink:title="definition: DebtInstrumentLineItems to SecuredDebt" order="13.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:title="LineOfCreditFacilityRemainingBorrowingCapacity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:title="definition: DebtInstrumentLineItems to LineOfCreditFacilityRemainingBorrowingCapacity" order="14.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentDecreaseForgiveness" xlink:label="DebtInstrumentDecreaseForgiveness" xlink:title="DebtInstrumentDecreaseForgiveness" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentDecreaseForgiveness" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentDecreaseForgiveness" order="15.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="DebtInstrumentTable" xlink:title="DebtInstrumentTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentTable" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentTable" order="16.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="DebtInstrumentAxis" xlink:title="DebtInstrumentAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DebtInstrumentTable" xlink:to="DebtInstrumentAxis" xlink:title="definition: DebtInstrumentTable to DebtInstrumentAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="DebtInstrumentNameDomain" xlink:title="DebtInstrumentNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="DebtInstrumentAxis" xlink:to="DebtInstrumentNameDomain" xlink:title="definition: DebtInstrumentAxis to DebtInstrumentNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="DebtInstrumentNameDomain_2" xlink:title="DebtInstrumentNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="DebtInstrumentAxis" xlink:to="DebtInstrumentNameDomain_2" xlink:title="definition: DebtInstrumentAxis to DebtInstrumentNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:label="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="RevolvingCreditFacilitySienaLendingGroupLlcMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentNameDomain" xlink:to="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="definition: DebtInstrumentNameDomain to RevolvingCreditFacilitySienaLendingGroupLlcMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PaycheckProtectionProgramLoanMember" xlink:label="PaycheckProtectionProgramLoanMember" xlink:title="PaycheckProtectionProgramLoanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentNameDomain" xlink:to="PaycheckProtectionProgramLoanMember" xlink:title="definition: DebtInstrumentNameDomain to PaycheckProtectionProgramLoanMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateAxis" xlink:label="VariableRateAxis" xlink:title="VariableRateAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DebtInstrumentTable" xlink:to="VariableRateAxis" xlink:title="definition: DebtInstrumentTable to VariableRateAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="VariableRateDomain" xlink:title="VariableRateDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="VariableRateAxis" xlink:to="VariableRateDomain" xlink:title="definition: VariableRateAxis to VariableRateDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="VariableRateDomain_2" xlink:title="VariableRateDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="VariableRateAxis" xlink:to="VariableRateDomain_2" xlink:title="definition: VariableRateAxis to VariableRateDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrimeRateMember" xlink:label="PrimeRateMember" xlink:title="PrimeRateMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="VariableRateDomain" xlink:to="PrimeRateMember" xlink:title="definition: VariableRateDomain to PrimeRateMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FederalFundsEffectiveSwapRateMember" xlink:label="FederalFundsEffectiveSwapRateMember" xlink:title="FederalFundsEffectiveSwapRateMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="VariableRateDomain" xlink:to="FederalFundsEffectiveSwapRateMember" xlink:title="definition: VariableRateDomain to FederalFundsEffectiveSwapRateMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DebtInstrumentTable" xlink:to="RangeAxis" xlink:title="definition: DebtInstrumentTable to RangeAxis" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="definition: RangeMember to MinimumMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails">
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:label="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:title="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedArrangementsToObtainGoodsAndServicesAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" order="6.0" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" order="7.0" />
    <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="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="8.0" t1:closed="true" t1:contextElement="segment" />
    <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="PlanNameAxis" xlink:title="PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="PlanNameAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to PlanNameAxis" order="1.0" />
    <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="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain" xlink:title="definition: PlanNameAxis to PlanNameDomain" order="1.0" />
    <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="PlanNameDomain_2" xlink:title="PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain_2" xlink:title="definition: PlanNameAxis to PlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_EquityIncentivePlan2014Member" xlink:label="EquityIncentivePlan2014Member" xlink:title="EquityIncentivePlan2014Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PlanNameDomain" xlink:to="EquityIncentivePlan2014Member" xlink:title="definition: PlanNameDomain to EquityIncentivePlan2014Member" order="1.0" />
    <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="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="2.0" />
    <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="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="1.0" />
    <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="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="EmployeeStockOptionMember" xlink:title="EmployeeStockOptionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="EmployeeStockOptionMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to EmployeeStockOptionMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="RangeAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to RangeAxis" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="definition: RangeMember to MinimumMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="definition: RangeMember to MaximumMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails">
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:label="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:title="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedArrangementsToObtainGoodsAndServicesAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" order="8.0" />
    <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="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="9.0" t1:closed="true" t1:contextElement="segment" />
    <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="PlanNameAxis" xlink:title="PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="PlanNameAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to PlanNameAxis" order="1.0" />
    <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="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain" xlink:title="definition: PlanNameAxis to PlanNameDomain" order="1.0" />
    <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="PlanNameDomain_2" xlink:title="PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain_2" xlink:title="definition: PlanNameAxis to PlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_EquityIncentivePlan2014Member" xlink:label="EquityIncentivePlan2014Member" xlink:title="EquityIncentivePlan2014Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PlanNameDomain" xlink:to="EquityIncentivePlan2014Member" xlink:title="definition: PlanNameDomain to EquityIncentivePlan2014Member" order="1.0" />
    <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="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="2.0" />
    <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="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="1.0" />
    <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="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="EmployeeStockOptionMember" xlink:title="EmployeeStockOptionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="EmployeeStockOptionMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to EmployeeStockOptionMember" order="1.0" />
    <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="RestrictedStockUnitsRSUMember" xlink:title="RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockUnitsRSUMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockUnitsRSUMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails">
    <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="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:title="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationAbstract" xlink:label="ShareBasedCompensationAbstract" xlink:title="ShareBasedCompensationAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="ShareBasedCompensationAbstract" xlink:title="definition: EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems to ShareBasedCompensationAbstract" order="1.0" />
    <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="AllocatedShareBasedCompensationExpense" xlink:title="AllocatedShareBasedCompensationExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="AllocatedShareBasedCompensationExpense" xlink:title="definition: EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems to AllocatedShareBasedCompensationExpense" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:title="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:title="definition: EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems to EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" order="3.0" />
    <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="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:title="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:title="definition: EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems to ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" order="4.0" t1:closed="true" t1:contextElement="segment" />
    <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="IncomeStatementLocationAxis" xlink:title="IncomeStatementLocationAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="IncomeStatementLocationAxis" xlink:title="definition: ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable to IncomeStatementLocationAxis" order="1.0" />
    <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="IncomeStatementLocationDomain" xlink:title="IncomeStatementLocationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="IncomeStatementLocationAxis" xlink:to="IncomeStatementLocationDomain" xlink:title="definition: IncomeStatementLocationAxis to IncomeStatementLocationDomain" order="1.0" />
    <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="IncomeStatementLocationDomain_2" xlink:title="IncomeStatementLocationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="IncomeStatementLocationAxis" xlink:to="IncomeStatementLocationDomain_2" xlink:title="definition: IncomeStatementLocationAxis to IncomeStatementLocationDomain_2" order="2.0" />
    <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="GeneralAndAdministrativeExpenseMember" xlink:title="GeneralAndAdministrativeExpenseMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="IncomeStatementLocationDomain" xlink:to="GeneralAndAdministrativeExpenseMember" xlink:title="definition: IncomeStatementLocationDomain to GeneralAndAdministrativeExpenseMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails">
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" order="1.0" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_EquityAwardsAggregateIntrinsicValueAbstract" xlink:label="EquityAwardsAggregateIntrinsicValueAbstract" xlink:title="EquityAwardsAggregateIntrinsicValueAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EquityAwardsAggregateIntrinsicValueAbstract" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EquityAwardsAggregateIntrinsicValueAbstract" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:label="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:title="EquityAwardsWeightedAverageRemainingContractualTermAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EquityAwardsWeightedAverageRemainingContractualTermAbstract" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" order="9.0" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" order="10.0" />
    <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="ProceedsFromStockOptionsExercised" xlink:title="ProceedsFromStockOptionsExercised" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ProceedsFromStockOptionsExercised" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ProceedsFromStockOptionsExercised" order="11.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:label="EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:title="EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" order="12.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" order="13.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" order="14.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" order="15.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" order="16.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" order="17.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" order="18.0" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" order="19.0" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="20.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" order="21.0" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" order="22.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" order="23.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" order="24.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" order="25.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" order="26.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" order="27.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" order="28.0" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" order="29.0" />
    <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="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" order="30.0" />
    <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="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" order="31.0" />
    <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="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" order="32.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" order="33.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" order="34.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" order="35.0" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" order="36.0" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" order="37.0" />
    <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="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to StockIssuedDuringPeriodSharesStockOptionsExercised" order="38.0" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" order="39.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" order="40.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" order="41.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" order="42.0" />
    <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="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="definition: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="43.0" t1:closed="true" t1:contextElement="segment" />
    <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="PlanNameAxis" xlink:title="PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="PlanNameAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to PlanNameAxis" order="1.0" />
    <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="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain" xlink:title="definition: PlanNameAxis to PlanNameDomain" order="1.0" />
    <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="PlanNameDomain_2" xlink:title="PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain_2" xlink:title="definition: PlanNameAxis to PlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:label="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:title="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="PlanNameDomain" xlink:to="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:title="definition: PlanNameDomain to EquityIncentivePlan2005AndEquityIncentivePlan2014Member" order="1.0" />
    <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="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="definition: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="2.0" />
    <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="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="1.0" />
    <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="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" xlink:title="definition: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="EmployeeStockOptionMember" xlink:title="EmployeeStockOptionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="EmployeeStockOptionMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to EmployeeStockOptionMember" order="1.0" />
    <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="RestrictedStockUnitsRSUMember" xlink:title="RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockUnitsRSUMember" xlink:title="definition: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockUnitsRSUMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansRestrictedStockDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems" xlink:label="DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems" xlink:title="DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementsAbstract" xlink:label="DeferredCompensationArrangementsAbstract" xlink:title="DeferredCompensationArrangementsAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems" xlink:to="DeferredCompensationArrangementsAbstract" xlink:title="definition: DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems to DeferredCompensationArrangementsAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:label="DeferredCompensationArrangementWithIndividualSharesIssued" xlink:title="DeferredCompensationArrangementWithIndividualSharesIssued" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems" xlink:to="DeferredCompensationArrangementWithIndividualSharesIssued" xlink:title="definition: DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems to DeferredCompensationArrangementWithIndividualSharesIssued" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:label="DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:title="DeferredCompensationArrangementWithIndividualCompensationExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems" xlink:to="DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:title="definition: DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems to DeferredCompensationArrangementWithIndividualCompensationExpense" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualMaximumContractualTerm1" xlink:label="DeferredCompensationArrangementWithIndividualMaximumContractualTerm1" xlink:title="DeferredCompensationArrangementWithIndividualMaximumContractualTerm1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems" xlink:to="DeferredCompensationArrangementWithIndividualMaximumContractualTerm1" xlink:title="definition: DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems to DeferredCompensationArrangementWithIndividualMaximumContractualTerm1" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExercisePrice" xlink:label="DeferredCompensationArrangementWithIndividualExercisePrice" xlink:title="DeferredCompensationArrangementWithIndividualExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems" xlink:to="DeferredCompensationArrangementWithIndividualExercisePrice" xlink:title="definition: DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems to DeferredCompensationArrangementWithIndividualExercisePrice" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable" xlink:label="ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable" xlink:title="ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems" xlink:to="ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable" xlink:title="definition: DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems to ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable" order="6.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis" xlink:label="DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis" xlink:title="DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable" xlink:to="DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis" xlink:title="definition: ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable to DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain" xlink:label="EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain" xlink:title="EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis" xlink:to="EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain" xlink:title="definition: DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis to EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain" xlink:label="EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain_2" xlink:title="EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis" xlink:to="EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain_2" xlink:title="definition: DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis to EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationShareBasedPaymentsMember" xlink:label="DeferredCompensationShareBasedPaymentsMember" xlink:title="DeferredCompensationShareBasedPaymentsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain" xlink:to="DeferredCompensationShareBasedPaymentsMember" xlink:title="definition: EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain to DeferredCompensationShareBasedPaymentsMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="OperatingLossCarryforwardsLineItems" xlink:title="OperatingLossCarryforwardsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:label="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:title="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="OperatingLossCarryforwardsLineItems" xlink:to="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:title="definition: OperatingLossCarryforwardsLineItems to IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="OperatingLossCarryforwards" xlink:title="OperatingLossCarryforwards" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="OperatingLossCarryforwardsLineItems" xlink:to="OperatingLossCarryforwards" xlink:title="definition: OperatingLossCarryforwardsLineItems to OperatingLossCarryforwards" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="TaxCreditCarryforwardAmount" xlink:title="TaxCreditCarryforwardAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="OperatingLossCarryforwardsLineItems" xlink:to="TaxCreditCarryforwardAmount" xlink:title="definition: OperatingLossCarryforwardsLineItems to TaxCreditCarryforwardAmount" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="OperatingLossCarryforwardsLineItems" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:title="definition: OperatingLossCarryforwardsLineItems to IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="OperatingLossCarryforwardsTable" xlink:title="OperatingLossCarryforwardsTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="OperatingLossCarryforwardsLineItems" xlink:to="OperatingLossCarryforwardsTable" xlink:title="definition: OperatingLossCarryforwardsLineItems to OperatingLossCarryforwardsTable" order="5.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TaxCreditCarryforwardAxis" xlink:label="TaxCreditCarryforwardAxis" xlink:title="TaxCreditCarryforwardAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="OperatingLossCarryforwardsTable" xlink:to="TaxCreditCarryforwardAxis" xlink:title="definition: OperatingLossCarryforwardsTable to TaxCreditCarryforwardAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="TaxCreditCarryforwardNameDomain" xlink:title="TaxCreditCarryforwardNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="TaxCreditCarryforwardAxis" xlink:to="TaxCreditCarryforwardNameDomain" xlink:title="definition: TaxCreditCarryforwardAxis to TaxCreditCarryforwardNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="TaxCreditCarryforwardNameDomain_2" xlink:title="TaxCreditCarryforwardNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="TaxCreditCarryforwardAxis" xlink:to="TaxCreditCarryforwardNameDomain_2" xlink:title="definition: TaxCreditCarryforwardAxis to TaxCreditCarryforwardNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchMember" xlink:label="ResearchMember" xlink:title="ResearchMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="TaxCreditCarryforwardNameDomain" xlink:to="ResearchMember" xlink:title="definition: TaxCreditCarryforwardNameDomain to ResearchMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="IncomeTaxAuthorityAxis" xlink:title="IncomeTaxAuthorityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="OperatingLossCarryforwardsTable" xlink:to="IncomeTaxAuthorityAxis" xlink:title="definition: OperatingLossCarryforwardsTable to IncomeTaxAuthorityAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="IncomeTaxAuthorityDomain" xlink:title="IncomeTaxAuthorityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="IncomeTaxAuthorityAxis" xlink:to="IncomeTaxAuthorityDomain" xlink:title="definition: IncomeTaxAuthorityAxis to IncomeTaxAuthorityDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="IncomeTaxAuthorityDomain_2" xlink:title="IncomeTaxAuthorityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="IncomeTaxAuthorityAxis" xlink:to="IncomeTaxAuthorityDomain_2" xlink:title="definition: IncomeTaxAuthorityAxis to IncomeTaxAuthorityDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="DomesticCountryMember" xlink:title="DomesticCountryMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="IncomeTaxAuthorityDomain" xlink:to="DomesticCountryMember" xlink:title="definition: IncomeTaxAuthorityDomain to DomesticCountryMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="StateAndLocalJurisdictionMember" xlink:title="StateAndLocalJurisdictionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="IncomeTaxAuthorityDomain" xlink:to="StateAndLocalJurisdictionMember" xlink:title="definition: IncomeTaxAuthorityDomain to StateAndLocalJurisdictionMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:title="ValuationAndQualifyingAccountsDisclosureLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="MovementInValuationAllowancesAndReservesRollForward" xlink:title="MovementInValuationAllowancesAndReservesRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="MovementInValuationAllowancesAndReservesRollForward" xlink:title="definition: ValuationAndQualifyingAccountsDisclosureLineItems to MovementInValuationAllowancesAndReservesRollForward" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="ValuationAllowancesAndReservesBalance" xlink:title="ValuationAllowancesAndReservesBalance" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="ValuationAllowancesAndReservesBalance" xlink:title="definition: ValuationAndQualifyingAccountsDisclosureLineItems to ValuationAllowancesAndReservesBalance" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:label="ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:title="ValuationAllowancesAndReservesChargedToCostAndExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:title="definition: ValuationAndQualifyingAccountsDisclosureLineItems to ValuationAllowancesAndReservesChargedToCostAndExpense" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="ValuationAllowancesAndReservesDeductions" xlink:title="ValuationAllowancesAndReservesDeductions" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="ValuationAllowancesAndReservesDeductions" xlink:title="definition: ValuationAndQualifyingAccountsDisclosureLineItems to ValuationAllowancesAndReservesDeductions" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="ValuationAndQualifyingAccountsDisclosureTable" xlink:title="ValuationAndQualifyingAccountsDisclosureTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="ValuationAndQualifyingAccountsDisclosureTable" xlink:title="definition: ValuationAndQualifyingAccountsDisclosureLineItems to ValuationAndQualifyingAccountsDisclosureTable" order="5.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="ValuationAllowancesAndReservesTypeAxis" xlink:title="ValuationAllowancesAndReservesTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ValuationAndQualifyingAccountsDisclosureTable" xlink:to="ValuationAllowancesAndReservesTypeAxis" xlink:title="definition: ValuationAndQualifyingAccountsDisclosureTable to ValuationAllowancesAndReservesTypeAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="ValuationAllowancesAndReservesDomain" xlink:title="ValuationAllowancesAndReservesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ValuationAllowancesAndReservesTypeAxis" xlink:to="ValuationAllowancesAndReservesDomain" xlink:title="definition: ValuationAllowancesAndReservesTypeAxis to ValuationAllowancesAndReservesDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="ValuationAllowancesAndReservesDomain_2" xlink:title="ValuationAllowancesAndReservesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ValuationAllowancesAndReservesTypeAxis" xlink:to="ValuationAllowancesAndReservesDomain_2" xlink:title="definition: ValuationAllowancesAndReservesTypeAxis to ValuationAllowancesAndReservesDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember" xlink:label="ValuationAllowanceOperatingLossCarryforwardsMember" xlink:title="ValuationAllowanceOperatingLossCarryforwardsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ValuationAllowancesAndReservesDomain" xlink:to="ValuationAllowanceOperatingLossCarryforwardsMember" xlink:title="definition: ValuationAllowancesAndReservesDomain to ValuationAllowanceOperatingLossCarryforwardsMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShareDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareReconciliationAbstract" xlink:label="EarningsPerShareReconciliationAbstract" xlink:title="EarningsPerShareReconciliationAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="EarningsPerShareReconciliationAbstract" xlink:title="definition: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems to EarningsPerShareReconciliationAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:title="definition: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems to AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:title="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:title="definition: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems to ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" order="3.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:title="definition: ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable to AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="AntidilutiveSecuritiesNameDomain" xlink:title="AntidilutiveSecuritiesNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="AntidilutiveSecuritiesNameDomain" xlink:title="definition: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis to AntidilutiveSecuritiesNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="AntidilutiveSecuritiesNameDomain_2" xlink:title="AntidilutiveSecuritiesNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="AntidilutiveSecuritiesNameDomain_2" xlink:title="definition: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis to AntidilutiveSecuritiesNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockCompensationPlanMember" xlink:label="StockCompensationPlanMember" xlink:title="StockCompensationPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="AntidilutiveSecuritiesNameDomain" xlink:to="StockCompensationPlanMember" xlink:title="definition: AntidilutiveSecuritiesNameDomain to StockCompensationPlanMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockRepurchaseProgramDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/GeographicAreaInformationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:title="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentsGeographicalAreasAbstract" xlink:label="SegmentsGeographicalAreasAbstract" xlink:title="SegmentsGeographicalAreasAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="SegmentsGeographicalAreasAbstract" xlink:title="definition: RevenuesFromExternalCustomersAndLongLivedAssetsLineItems to SegmentsGeographicalAreasAbstract" order="1.0" />
    <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="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="definition: RevenuesFromExternalCustomersAndLongLivedAssetsLineItems to RevenueFromContractWithCustomerExcludingAssessedTax" order="2.0" />
    <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="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="definition: RevenuesFromExternalCustomersAndLongLivedAssetsLineItems to PropertyPlantAndEquipmentNet" order="3.0" />
    <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="ConcentrationRiskPercentage1" xlink:title="ConcentrationRiskPercentage1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="ConcentrationRiskPercentage1" xlink:title="definition: RevenuesFromExternalCustomersAndLongLivedAssetsLineItems to ConcentrationRiskPercentage1" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:title="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:title="definition: RevenuesFromExternalCustomersAndLongLivedAssetsLineItems to ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" order="5.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsAxis" xlink:label="ConsolidationItemsAxis" xlink:title="ConsolidationItemsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="ConsolidationItemsAxis" xlink:title="definition: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to ConsolidationItemsAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="ConsolidationItemsDomain" xlink:title="ConsolidationItemsDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ConsolidationItemsAxis" xlink:to="ConsolidationItemsDomain" xlink:title="definition: ConsolidationItemsAxis to ConsolidationItemsDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="ConsolidationItemsDomain_2" xlink:title="ConsolidationItemsDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ConsolidationItemsAxis" xlink:to="ConsolidationItemsDomain_2" xlink:title="definition: ConsolidationItemsAxis to ConsolidationItemsDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ReportableGeographicalComponentsMember" xlink:label="ReportableGeographicalComponentsMember" xlink:title="ReportableGeographicalComponentsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConsolidationItemsDomain" xlink:to="ReportableGeographicalComponentsMember" xlink:title="definition: ConsolidationItemsDomain to ReportableGeographicalComponentsMember" order="1.0" />
    <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="ConcentrationRiskByBenchmarkAxis" xlink:title="ConcentrationRiskByBenchmarkAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="ConcentrationRiskByBenchmarkAxis" xlink:title="definition: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to ConcentrationRiskByBenchmarkAxis" order="2.0" />
    <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="ConcentrationRiskBenchmarkDomain" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="ConcentrationRiskBenchmarkDomain" xlink:title="definition: ConcentrationRiskByBenchmarkAxis to ConcentrationRiskBenchmarkDomain" order="1.0" />
    <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="ConcentrationRiskBenchmarkDomain_2" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="ConcentrationRiskBenchmarkDomain_2" xlink:title="definition: ConcentrationRiskByBenchmarkAxis to ConcentrationRiskBenchmarkDomain_2" order="2.0" />
    <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="SalesRevenueNetMember" xlink:title="SalesRevenueNetMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="SalesRevenueNetMember" xlink:title="definition: ConcentrationRiskBenchmarkDomain to SalesRevenueNetMember" order="1.0" />
    <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="ConcentrationRiskByTypeAxis" xlink:title="ConcentrationRiskByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="ConcentrationRiskByTypeAxis" xlink:title="definition: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to ConcentrationRiskByTypeAxis" order="3.0" />
    <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="ConcentrationRiskTypeDomain" xlink:title="ConcentrationRiskTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="ConcentrationRiskTypeDomain" xlink:title="definition: ConcentrationRiskByTypeAxis to ConcentrationRiskTypeDomain" order="1.0" />
    <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="ConcentrationRiskTypeDomain_2" xlink:title="ConcentrationRiskTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="ConcentrationRiskTypeDomain_2" xlink:title="definition: ConcentrationRiskByTypeAxis to ConcentrationRiskTypeDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="GeographicConcentrationRiskMember" xlink:title="GeographicConcentrationRiskMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ConcentrationRiskTypeDomain" xlink:to="GeographicConcentrationRiskMember" xlink:title="definition: ConcentrationRiskTypeDomain to GeographicConcentrationRiskMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="StatementGeographicalAxis" xlink:title="definition: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to StatementGeographicalAxis" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain_2" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain_2" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="definition: SegmentGeographicalDomain to US" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_InternationalMember" xlink:label="InternationalMember" xlink:title="InternationalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="InternationalMember" xlink:title="definition: SegmentGeographicalDomain to InternationalMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_EuropeMember" xlink:label="EuropeMember" xlink:title="EuropeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="EuropeMember" xlink:title="definition: SegmentGeographicalDomain to EuropeMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PacificRimMember" xlink:label="PacificRimMember" xlink:title="PacificRimMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="PacificRimMember" xlink:title="definition: SegmentGeographicalDomain to PacificRimMember" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_CA" xlink:label="CA" xlink:title="CA" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="CA" xlink:title="definition: SegmentGeographicalDomain to CA" order="5.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesDetailsCalc2" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>11
<FILENAME>tact-20211231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by EDGARfilings PROfile 8.0.0.0 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" />
  <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <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="AwardTypeAxis" xlink:title="AwardTypeAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AwardTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AwardTypeAxis_lbl" xml:lang="en-US" id="us-gaap_AwardTypeAxis_lbl">Award Type [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis_lbl" xlink:title="label: AwardTypeAxis to us-gaap_AwardTypeAxis_lbl" />
    <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="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US" id="us-gaap_AccountingPoliciesAbstract_lbl">Summary of significant accounting policies [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" xlink:title="label: AccountingPoliciesAbstract to us-gaap_AccountingPoliciesAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:title="AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" xml:lang="en-US" id="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl">Accrued liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" xlink:title="label: AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock to us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl1" xml:lang="en-US" id="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl1">Accounts Payable and Accrued Liabilities Disclosure [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl1" xlink:title="label: AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock to us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsAndNotesReceivableNetAbstract" xlink:label="AccountsAndNotesReceivableNetAbstract" xlink:title="AccountsAndNotesReceivableNetAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsAndNotesReceivableNetAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsAndNotesReceivableNetAbstract_lbl" xml:lang="en-US" id="us-gaap_AccountsAndNotesReceivableNetAbstract_lbl">Note receivable [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsAndNotesReceivableNetAbstract" xlink:to="us-gaap_AccountsAndNotesReceivableNetAbstract_lbl" xlink:title="label: AccountsAndNotesReceivableNetAbstract to us-gaap_AccountsAndNotesReceivableNetAbstract_lbl" />
    <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="AccountsPayableCurrent" xlink:title="AccountsPayableCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US" id="us-gaap_AccountsPayableCurrent_lbl">Accounts payable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl" xlink:title="label: AccountsPayableCurrent to us-gaap_AccountsPayableCurrent_lbl" />
    <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="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US" id="us-gaap_AccountsReceivableNetCurrent_lbl">Accounts receivable, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:title="label: AccountsReceivableNetCurrent to us-gaap_AccountsReceivableNetCurrent_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" xlink:label="AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" xlink:title="AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract_lbl" xml:lang="en-US" id="us-gaap_AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract_lbl">Allowance for doubtful accounts [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" xlink:to="us-gaap_AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract_lbl" xlink:title="label: AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract to us-gaap_AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract_lbl" />
    <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="AccountsReceivableMember" xlink:title="AccountsReceivableMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsReceivableMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US" id="us-gaap_AccountsReceivableMember_lbl">Accounts Receivable [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl" xlink:title="label: AccountsReceivableMember to us-gaap_AccountsReceivableMember_lbl" />
    <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="AccruedProfessionalFeesCurrent" xlink:title="AccruedProfessionalFeesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccruedProfessionalFeesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccruedProfessionalFeesCurrent_lbl" xml:lang="en-US" id="us-gaap_AccruedProfessionalFeesCurrent_lbl">Professional and consulting</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccruedProfessionalFeesCurrent" xlink:to="us-gaap_AccruedProfessionalFeesCurrent_lbl" xlink:title="label: AccruedProfessionalFeesCurrent to us-gaap_AccruedProfessionalFeesCurrent_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="AccruedLiabilitiesCurrent" xlink:title="AccruedLiabilitiesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccruedLiabilitiesCurrent_lbl" xml:lang="en-US" id="us-gaap_AccruedLiabilitiesCurrent_lbl">Accrued liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_lbl" xlink:title="label: AccruedLiabilitiesCurrent to us-gaap_AccruedLiabilitiesCurrent_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_AccruedLiabilitiesCurrent_lbl1" xml:lang="en-US" id="us-gaap_AccruedLiabilitiesCurrent_lbl1">Accrued liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_lbl1" xlink:title="label: AccruedLiabilitiesCurrent to us-gaap_AccruedLiabilitiesCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="AccruedIncomeTaxesCurrent" xlink:title="AccruedIncomeTaxesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccruedIncomeTaxesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccruedIncomeTaxesCurrent_lbl" xml:lang="en-US" id="us-gaap_AccruedIncomeTaxesCurrent_lbl">Income taxes payable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccruedIncomeTaxesCurrent" xlink:to="us-gaap_AccruedIncomeTaxesCurrent_lbl" xlink:title="label: AccruedIncomeTaxesCurrent to us-gaap_AccruedIncomeTaxesCurrent_lbl" />
    <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="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US" id="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl">Accumulated other comprehensive loss, net of tax</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:title="label: AccumulatedOtherComprehensiveIncomeLossNetOfTax to us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" />
    <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="AccumulatedOtherComprehensiveIncomeMember" xlink:title="AccumulatedOtherComprehensiveIncomeMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US" id="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl">Accumulated Other Comprehensive Income (Loss) [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xlink:title="label: AccumulatedOtherComprehensiveIncomeMember to us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl1" xml:lang="en-US" id="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl1">AOCI Attributable to Parent [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl1" xlink:title="label: AccumulatedOtherComprehensiveIncomeMember to us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xml:lang="en-US" id="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl">Less: Accumulated depreciation and amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:title="label: AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment to us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1" xml:lang="en-US" id="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1" xlink:title="label: AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment to us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1" />
    <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="AdditionalPaidInCapitalCommonStock" xlink:title="AdditionalPaidInCapitalCommonStock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xml:lang="en-US" id="us-gaap_AdditionalPaidInCapitalCommonStock_lbl">Additional paid-in capital</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xlink:title="label: AdditionalPaidInCapitalCommonStock to us-gaap_AdditionalPaidInCapitalCommonStock_lbl" />
    <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="AdditionalPaidInCapitalMember" xlink:title="AdditionalPaidInCapitalMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US" id="us-gaap_AdditionalPaidInCapitalMember_lbl">Additional Paid-in Capital [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl" xlink:title="label: AdditionalPaidInCapitalMember to us-gaap_AdditionalPaidInCapitalMember_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" xlink:label="AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" xlink:title="AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet_lbl" xml:lang="en-US" id="us-gaap_AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet_lbl">Relinquishment of stock awards and deferred stock units to pay withholding taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" xlink:to="us-gaap_AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet_lbl" xlink:title="label: AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet to us-gaap_AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet_lbl" />
    <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="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US" id="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl">Share-based compensation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:title="label: AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue to us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" xml:lang="en-US" id="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1">APIC, Share-based Payment Arrangement, Increase for Cost Recognition</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" xlink:title="label: AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue to us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" />
    <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="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" id="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl">Adjustments to reconcile net loss to net cash used in operating activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:title="label: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="AdvertisingCostsPolicyTextBlock" xlink:title="AdvertisingCostsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdvertisingCostsPolicyTextBlock_lbl" xml:lang="en-US" id="us-gaap_AdvertisingCostsPolicyTextBlock_lbl">Advertising</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdvertisingCostsPolicyTextBlock" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock_lbl" xlink:title="label: AdvertisingCostsPolicyTextBlock to us-gaap_AdvertisingCostsPolicyTextBlock_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdvertisingExpense" xlink:label="AdvertisingExpense" xlink:title="AdvertisingExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdvertisingExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdvertisingExpense_lbl" xml:lang="en-US" id="us-gaap_AdvertisingExpense_lbl">Advertising expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdvertisingExpense" xlink:to="us-gaap_AdvertisingExpense_lbl" xlink:title="label: AdvertisingExpense to us-gaap_AdvertisingExpense_lbl" />
    <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="AllocatedShareBasedCompensationExpense" xlink:title="AllocatedShareBasedCompensationExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US" id="us-gaap_AllocatedShareBasedCompensationExpense_lbl">Share-based compensation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xlink:title="label: AllocatedShareBasedCompensationExpense to us-gaap_AllocatedShareBasedCompensationExpense_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AllocatedShareBasedCompensationExpense_lbl1" xml:lang="en-US" id="us-gaap_AllocatedShareBasedCompensationExpense_lbl1">Share-based Payment Arrangement, Expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl1" xlink:title="label: AllocatedShareBasedCompensationExpense to us-gaap_AllocatedShareBasedCompensationExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:label="AllowanceForDoubtfulAccountsReceivableRollforward" xlink:title="AllowanceForDoubtfulAccountsReceivableRollforward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_lbl" xml:lang="en-US" id="us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_lbl">Allowance for doubtful accounts [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllowanceForDoubtfulAccountsReceivableRollforward" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_lbl" xlink:title="label: AllowanceForDoubtfulAccountsReceivableRollforward to us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US" id="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl">Balance, end of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xlink:title="label: AllowanceForDoubtfulAccountsReceivableCurrent to us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl1" xml:lang="en-US" id="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl1">Balance, beginning of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl1" xlink:title="label: AllowanceForDoubtfulAccountsReceivableCurrent to us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl2" xml:lang="en-US" id="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl2">Accounts Receivable, Allowance for Credit Loss, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl2" xlink:title="label: AllowanceForDoubtfulAccountsReceivableCurrent to us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:title="AllowanceForDoubtfulAccountsReceivableWriteOffs" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" xml:lang="en-US" id="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl">Deductions</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" xlink:title="label: AllowanceForDoubtfulAccountsReceivableWriteOffs to us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl1" xml:lang="en-US" id="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl1">Accounts Receivable, Allowance for Credit Loss, Writeoff</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl1" xlink:title="label: AllowanceForDoubtfulAccountsReceivableWriteOffs to us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl1" />
    <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="AmortizationOfIntangibleAssets" xlink:title="AmortizationOfIntangibleAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US" id="us-gaap_AmortizationOfIntangibleAssets_lbl">Amortization expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:title="label: AmortizationOfIntangibleAssets to us-gaap_AmortizationOfIntangibleAssets_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xml:lang="en-US" id="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl">Antidilutive Securities [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xlink:title="label: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis to us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US" id="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xlink:title="label: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems to us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US" id="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl">Anti-dilutive securities excluded from computation of earnings per dilutive share (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xlink:title="label: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount to us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="AntidilutiveSecuritiesNameDomain" xlink:title="AntidilutiveSecuritiesNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xml:lang="en-US" id="us-gaap_AntidilutiveSecuritiesNameDomain_lbl">Antidilutive Securities, Name [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xlink:title="label: AntidilutiveSecuritiesNameDomain to us-gaap_AntidilutiveSecuritiesNameDomain_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:label="AssetsAndLiabilitiesLesseeAbstract" xlink:title="AssetsAndLiabilitiesLesseeAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl" xml:lang="en-US" id="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl">Leases [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsAndLiabilitiesLesseeAbstract" xlink:to="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl" xlink:title="label: AssetsAndLiabilitiesLesseeAbstract to us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl1" xml:lang="en-US" id="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl1">Assets and Liabilities, Lessee [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsAndLiabilitiesLesseeAbstract" xlink:to="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl1" xlink:title="label: AssetsAndLiabilitiesLesseeAbstract to us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl1" />
    <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="Assets" xlink:title="Assets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Assets_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_Assets_lbl" xml:lang="en-US" id="us-gaap_Assets_lbl">Total assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Assets" xlink:to="us-gaap_Assets_lbl" xlink:title="label: Assets to us-gaap_Assets_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Assets_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_Assets_lbl1" xml:lang="en-US" id="us-gaap_Assets_lbl1">Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Assets" xlink:to="us-gaap_Assets_lbl1" xlink:title="label: Assets to us-gaap_Assets_lbl1" />
    <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="AssetsAbstract" xlink:title="AssetsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsAbstract_lbl" xml:lang="en-US" id="us-gaap_AssetsAbstract_lbl">Assets:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" xlink:title="label: AssetsAbstract to us-gaap_AssetsAbstract_lbl" />
    <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="AssetsCurrent" xlink:title="AssetsCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_AssetsCurrent_lbl" xml:lang="en-US" id="us-gaap_AssetsCurrent_lbl">Total current assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" xlink:title="label: AssetsCurrent to us-gaap_AssetsCurrent_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsCurrent_lbl1" xml:lang="en-US" id="us-gaap_AssetsCurrent_lbl1">Assets, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl1" xlink:title="label: AssetsCurrent to us-gaap_AssetsCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsNoncurrent" xlink:label="AssetsNoncurrent" xlink:title="AssetsNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_AssetsNoncurrent_lbl" xml:lang="en-US" id="us-gaap_AssetsNoncurrent_lbl">Total noncurrent assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsNoncurrent" xlink:to="us-gaap_AssetsNoncurrent_lbl" xlink:title="label: AssetsNoncurrent to us-gaap_AssetsNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsNoncurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsNoncurrent_lbl1" xml:lang="en-US" id="us-gaap_AssetsNoncurrent_lbl1">Assets, Noncurrent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsNoncurrent" xlink:to="us-gaap_AssetsNoncurrent_lbl1" xlink:title="label: AssetsNoncurrent to us-gaap_AssetsNoncurrent_lbl1" />
    <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="AssetsCurrentAbstract" xlink:title="AssetsCurrentAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US" id="us-gaap_AssetsCurrentAbstract_lbl">Current assets:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" xlink:title="label: AssetsCurrentAbstract to us-gaap_AssetsCurrentAbstract_lbl" />
    <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="BalanceSheetLocationDomain" xlink:title="BalanceSheetLocationDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BalanceSheetLocationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_BalanceSheetLocationDomain_lbl" xml:lang="en-US" id="us-gaap_BalanceSheetLocationDomain_lbl">Balance Sheet Location [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BalanceSheetLocationDomain" xlink:to="us-gaap_BalanceSheetLocationDomain_lbl" xlink:title="label: BalanceSheetLocationDomain to us-gaap_BalanceSheetLocationDomain_lbl" />
    <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="BalanceSheetLocationAxis" xlink:title="BalanceSheetLocationAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BalanceSheetLocationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_BalanceSheetLocationAxis_lbl" xml:lang="en-US" id="us-gaap_BalanceSheetLocationAxis_lbl">Balance Sheet Location [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis_lbl" xlink:title="label: BalanceSheetLocationAxis to us-gaap_BalanceSheetLocationAxis_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:title="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl" xml:lang="en-US" id="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl">Summary of significant accounting policies</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl" xlink:title="label: BasisOfPresentationAndSignificantAccountingPoliciesTextBlock to us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl1" xml:lang="en-US" id="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl1">Basis of Presentation and Significant Accounting Policies [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl1" xlink:title="label: BasisOfPresentationAndSignificantAccountingPoliciesTextBlock to us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BuildingMember" xlink:label="BuildingMember" xlink:title="BuildingMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BuildingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_BuildingMember_lbl" xml:lang="en-US" id="us-gaap_BuildingMember_lbl">Facility in Ithaca, New York [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BuildingMember" xlink:to="us-gaap_BuildingMember_lbl" xlink:title="label: BuildingMember to us-gaap_BuildingMember_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BuildingMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_BuildingMember_lbl1" xml:lang="en-US" id="us-gaap_BuildingMember_lbl1">Building [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BuildingMember" xlink:to="us-gaap_BuildingMember_lbl1" xlink:title="label: BuildingMember to us-gaap_BuildingMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="CapitalExpendituresIncurredButNotYetPaid" xlink:title="CapitalExpendituresIncurredButNotYetPaid" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xml:lang="en-US" id="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl">Non-cash capital expenditure items</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CapitalExpendituresIncurredButNotYetPaid" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xlink:title="label: CapitalExpendituresIncurredButNotYetPaid to us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAmortization1" xlink:label="CapitalizedComputerSoftwareAmortization1" xlink:title="CapitalizedComputerSoftwareAmortization1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CapitalizedComputerSoftwareAmortization1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CapitalizedComputerSoftwareAmortization1_lbl" xml:lang="en-US" id="us-gaap_CapitalizedComputerSoftwareAmortization1_lbl">Amortization of capitalized software development costs</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CapitalizedComputerSoftwareAmortization1" xlink:to="us-gaap_CapitalizedComputerSoftwareAmortization1_lbl" xlink:title="label: CapitalizedComputerSoftwareAmortization1 to us-gaap_CapitalizedComputerSoftwareAmortization1_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CapitalizedComputerSoftwareAmortization1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CapitalizedComputerSoftwareAmortization1_lbl1" xml:lang="en-US" id="us-gaap_CapitalizedComputerSoftwareAmortization1_lbl1">Capitalized Computer Software, Amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CapitalizedComputerSoftwareAmortization1" xlink:to="us-gaap_CapitalizedComputerSoftwareAmortization1_lbl1" xlink:title="label: CapitalizedComputerSoftwareAmortization1 to us-gaap_CapitalizedComputerSoftwareAmortization1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet" xlink:label="CapitalizedComputerSoftwareNet" xlink:title="CapitalizedComputerSoftwareNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CapitalizedComputerSoftwareNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CapitalizedComputerSoftwareNet_lbl" xml:lang="en-US" id="us-gaap_CapitalizedComputerSoftwareNet_lbl">Unamortized development costs of software</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CapitalizedComputerSoftwareNet" xlink:to="us-gaap_CapitalizedComputerSoftwareNet_lbl" xlink:title="label: CapitalizedComputerSoftwareNet to us-gaap_CapitalizedComputerSoftwareNet_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl">Increase in cash and cash equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" />
    <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="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl">Cash and cash equivalents, end of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl1" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl1" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl1">Cash and cash equivalents, beginning of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl1" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="CashAndCashEquivalentsPolicyTextBlock" xlink:title="CashAndCashEquivalentsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xml:lang="en-US" id="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl">Cash and cash equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xlink:title="label: CashAndCashEquivalentsPolicyTextBlock to us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl1">Cash and Cash Equivalents, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl1" xlink:title="label: CashAndCashEquivalentsPolicyTextBlock to us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashFlowOperatingActivitiesLesseeAbstract" xlink:label="CashFlowOperatingActivitiesLesseeAbstract" xlink:title="CashFlowOperatingActivitiesLesseeAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl" xml:lang="en-US" id="us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl">Cash Flows Related to Operating Leases [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashFlowOperatingActivitiesLesseeAbstract" xlink:to="us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl" xlink:title="label: CashFlowOperatingActivitiesLesseeAbstract to us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl1" xml:lang="en-US" id="us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl1">Cash Flow, Operating Activities, Lessee [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashFlowOperatingActivitiesLesseeAbstract" xlink:to="us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl1" xlink:title="label: CashFlowOperatingActivitiesLesseeAbstract to us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl1" />
    <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="CashAndCashEquivalentsAtCarryingValue" xlink:title="CashAndCashEquivalentsAtCarryingValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" id="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl">Cash and cash equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:title="label: CashAndCashEquivalentsAtCarryingValue to us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="ClassOfStockDomain" xlink:title="ClassOfStockDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ClassOfStockDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ClassOfStockDomain_lbl" xml:lang="en-US" id="us-gaap_ClassOfStockDomain_lbl">Class of Stock [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ClassOfStockDomain" xlink:to="us-gaap_ClassOfStockDomain_lbl" xlink:title="label: ClassOfStockDomain to us-gaap_ClassOfStockDomain_lbl" />
    <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="CommitmentsAndContingencies" xlink:title="CommitmentsAndContingencies" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US" id="us-gaap_CommitmentsAndContingencies_lbl">Commitments and contingencies</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl" xlink:title="label: CommitmentsAndContingencies to us-gaap_CommitmentsAndContingencies_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingencies_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommitmentsAndContingencies_lbl1" xml:lang="en-US" id="us-gaap_CommitmentsAndContingencies_lbl1">Commitments and Contingencies</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl1" xlink:title="label: CommitmentsAndContingencies to us-gaap_CommitmentsAndContingencies_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockDividendsPerShareCashPaid" xlink:label="CommonStockDividendsPerShareCashPaid" xlink:title="CommonStockDividendsPerShareCashPaid" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockDividendsPerShareCashPaid_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockDividendsPerShareCashPaid_lbl" xml:lang="en-US" id="us-gaap_CommonStockDividendsPerShareCashPaid_lbl">Dividends declared and paid per common share (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockDividendsPerShareCashPaid" xlink:to="us-gaap_CommonStockDividendsPerShareCashPaid_lbl" xlink:title="label: CommonStockDividendsPerShareCashPaid to us-gaap_CommonStockDividendsPerShareCashPaid_lbl" />
    <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="CommonStockMember" xlink:title="CommonStockMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockMember_lbl" xml:lang="en-US" id="us-gaap_CommonStockMember_lbl">Common Stock [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" xlink:title="label: CommonStockMember to us-gaap_CommonStockMember_lbl" />
    <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="CommonStockSharesIssued" xlink:title="CommonStockSharesIssued" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US" id="us-gaap_CommonStockSharesIssued_lbl">Common stock, shares issued (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" xlink:title="label: CommonStockSharesIssued to us-gaap_CommonStockSharesIssued_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued_lbl1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_CommonStockSharesIssued_lbl1" xml:lang="en-US" id="us-gaap_CommonStockSharesIssued_lbl1">Ending balance (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl1" xlink:title="label: CommonStockSharesIssued to us-gaap_CommonStockSharesIssued_lbl1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued_lbl2" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_CommonStockSharesIssued_lbl2" xml:lang="en-US" id="us-gaap_CommonStockSharesIssued_lbl2">Beginning balance (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl2" xlink:title="label: CommonStockSharesIssued to us-gaap_CommonStockSharesIssued_lbl2" />
    <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="CommonStockParOrStatedValuePerShare" xlink:title="CommonStockParOrStatedValuePerShare" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US" id="us-gaap_CommonStockParOrStatedValuePerShare_lbl">Common stock, par value (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xlink:title="label: CommonStockParOrStatedValuePerShare to us-gaap_CommonStockParOrStatedValuePerShare_lbl" />
    <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="CommonStockValue" xlink:title="CommonStockValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockValue_lbl" xml:lang="en-US" id="us-gaap_CommonStockValue_lbl">Common stock, $0.01 par value, 20,000,000 authorized at December 31, 2021 and 2020; 13,917,731 and 12,976,227 shares issued; 9,872,889 and 8,931,385 shares outstanding, at December 31, 2021 and 2020, respectively</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" xlink:title="label: CommonStockValue to us-gaap_CommonStockValue_lbl" />
    <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="CommonStockSharesAuthorized" xlink:title="CommonStockSharesAuthorized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US" id="us-gaap_CommonStockSharesAuthorized_lbl">Common stock, shares authorized (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl" xlink:title="label: CommonStockSharesAuthorized to us-gaap_CommonStockSharesAuthorized_lbl" />
    <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="CommonStockSharesOutstanding" xlink:title="CommonStockSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US" id="us-gaap_CommonStockSharesOutstanding_lbl">Common stock, shares outstanding (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" xlink:title="label: CommonStockSharesOutstanding to us-gaap_CommonStockSharesOutstanding_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="CompensationAndRetirementDisclosureAbstract" xlink:title="CompensationAndRetirementDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" xml:lang="en-US" id="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl">Retirement savings plan [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" xlink:title="label: CompensationAndRetirementDisclosureAbstract to us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:label="CompensationAndEmployeeBenefitPlansTextBlock" xlink:title="CompensationAndEmployeeBenefitPlansTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock_lbl" xml:lang="en-US" id="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock_lbl">Retirement savings plan</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CompensationAndEmployeeBenefitPlansTextBlock" xlink:to="us-gaap_CompensationAndEmployeeBenefitPlansTextBlock_lbl" xlink:title="label: CompensationAndEmployeeBenefitPlansTextBlock to us-gaap_CompensationAndEmployeeBenefitPlansTextBlock_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:label="ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:title="ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_lbl" xml:lang="en-US" id="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_lbl">Deferred income tax components [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_lbl" xlink:title="label: ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract to us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_lbl" />
    <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="ComprehensiveIncomeNetOfTax" xlink:title="ComprehensiveIncomeNetOfTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US" id="us-gaap_ComprehensiveIncomeNetOfTax_lbl">Comprehensive loss</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xlink:title="label: ComprehensiveIncomeNetOfTax to us-gaap_ComprehensiveIncomeNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ComprehensiveIncomeNetOfTax_lbl1" xml:lang="en-US" id="us-gaap_ComprehensiveIncomeNetOfTax_lbl1">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl1" xlink:title="label: ComprehensiveIncomeNetOfTax to us-gaap_ComprehensiveIncomeNetOfTax_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTable" xlink:label="ConcentrationRiskTable" xlink:title="ConcentrationRiskTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskTable_lbl" xml:lang="en-US" id="us-gaap_ConcentrationRiskTable_lbl">Concentration Risk [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskTable_lbl" xlink:title="label: ConcentrationRiskTable to us-gaap_ConcentrationRiskTable_lbl" />
    <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="ConcentrationRiskTypeDomain" xlink:title="ConcentrationRiskTypeDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskTypeDomain_lbl" xml:lang="en-US" id="us-gaap_ConcentrationRiskTypeDomain_lbl">Concentration Risk Type [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain_lbl" xlink:title="label: ConcentrationRiskTypeDomain to us-gaap_ConcentrationRiskTypeDomain_lbl" />
    <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="ConcentrationRiskPercentage1" xlink:title="ConcentrationRiskPercentage1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US" id="us-gaap_ConcentrationRiskPercentage1_lbl">Concentration risk percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl" xlink:title="label: ConcentrationRiskPercentage1 to us-gaap_ConcentrationRiskPercentage1_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskPercentage1_lbl1" xml:lang="en-US" id="us-gaap_ConcentrationRiskPercentage1_lbl1">Concentration Risk, Percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl1" xlink:title="label: ConcentrationRiskPercentage1 to us-gaap_ConcentrationRiskPercentage1_lbl1" />
    <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="ConcentrationRiskBenchmarkDomain" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xml:lang="en-US" id="us-gaap_ConcentrationRiskBenchmarkDomain_lbl">Concentration Risk Benchmark [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xlink:title="label: ConcentrationRiskBenchmarkDomain to us-gaap_ConcentrationRiskBenchmarkDomain_lbl" />
    <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="ConcentrationRiskByTypeAxis" xlink:title="ConcentrationRiskByTypeAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskByTypeAxis_lbl" xml:lang="en-US" id="us-gaap_ConcentrationRiskByTypeAxis_lbl">Concentration Risk Type [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl" xlink:title="label: ConcentrationRiskByTypeAxis to us-gaap_ConcentrationRiskByTypeAxis_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="ConcentrationRiskLineItems" xlink:title="ConcentrationRiskLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskLineItems_lbl" xml:lang="en-US" id="us-gaap_ConcentrationRiskLineItems_lbl">Concentration Risk [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskLineItems_lbl" xlink:title="label: ConcentrationRiskLineItems to us-gaap_ConcentrationRiskLineItems_lbl" />
    <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="ConcentrationRiskByBenchmarkAxis" xlink:title="ConcentrationRiskByBenchmarkAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xml:lang="en-US" id="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl">Concentration Risk Benchmark [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xlink:title="label: ConcentrationRiskByBenchmarkAxis to us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" />
    <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="ConcentrationRiskCreditRisk" xlink:title="ConcentrationRiskCreditRisk" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US" id="us-gaap_ConcentrationRiskCreditRisk_lbl">Concentration of credit risk</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl" xlink:title="label: ConcentrationRiskCreditRisk to us-gaap_ConcentrationRiskCreditRisk_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="ConsolidationPolicyTextBlock" xlink:title="ConsolidationPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US" id="us-gaap_ConsolidationPolicyTextBlock_lbl">Principles of consolidation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock_lbl" xlink:title="label: ConsolidationPolicyTextBlock to us-gaap_ConsolidationPolicyTextBlock_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConstructionInProgressMember" xlink:label="ConstructionInProgressMember" xlink:title="ConstructionInProgressMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ConstructionInProgressMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ConstructionInProgressMember_lbl" xml:lang="en-US" id="us-gaap_ConstructionInProgressMember_lbl">Construction in-Process [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConstructionInProgressMember" xlink:to="us-gaap_ConstructionInProgressMember_lbl" xlink:title="label: ConstructionInProgressMember to us-gaap_ConstructionInProgressMember_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityAbstract" xlink:label="ContractWithCustomerLiabilityAbstract" xlink:title="ContractWithCustomerLiabilityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ContractWithCustomerLiabilityAbstract_lbl" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiabilityAbstract_lbl">Contract liabilities [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityAbstract_lbl" xlink:title="label: ContractWithCustomerLiabilityAbstract to us-gaap_ContractWithCustomerLiabilityAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerLiabilityAbstract_lbl1" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiabilityAbstract_lbl1">Contract with Customer, Liability [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityAbstract_lbl1" xlink:title="label: ContractWithCustomerLiabilityAbstract to us-gaap_ContractWithCustomerLiabilityAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:label="ContractWithCustomerAssetNetNoncurrent" xlink:title="ContractWithCustomerAssetNetNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl">Unbilled receivables, non-current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetNetNoncurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl" xlink:title="label: ContractWithCustomerAssetNetNoncurrent to us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl1" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl1">Contract with Customer, Asset, after Allowance for Credit Loss, Noncurrent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetNetNoncurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl1" xlink:title="label: ContractWithCustomerAssetNetNoncurrent to us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl1" />
    <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="ContractWithCustomerLiabilityCurrent" xlink:title="ContractWithCustomerLiabilityCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiabilityCurrent_lbl">Deferred revenue</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xlink:title="label: ContractWithCustomerLiabilityCurrent to us-gaap_ContractWithCustomerLiabilityCurrent_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl1" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ContractWithCustomerLiabilityCurrent_lbl1" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiabilityCurrent_lbl1">Deferred revenue, current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl1" xlink:title="label: ContractWithCustomerLiabilityCurrent to us-gaap_ContractWithCustomerLiabilityCurrent_lbl1" />
    <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="ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:title="ContractWithCustomerAssetAndLiabilityTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl">Net Contract (Liabilities) Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xlink:title="label: ContractWithCustomerAssetAndLiabilityTableTextBlock to us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl1">Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl1" xlink:title="label: ContractWithCustomerAssetAndLiabilityTableTextBlock to us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl1" />
    <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="ContractWithCustomerAssetNetCurrent" xlink:title="ContractWithCustomerAssetNetCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetNetCurrent_lbl">Unbilled receivables, current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_lbl" xlink:title="label: ContractWithCustomerAssetNetCurrent to us-gaap_ContractWithCustomerAssetNetCurrent_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerAssetNetCurrent_lbl1" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetNetCurrent_lbl1">Contract with Customer, Asset, after Allowance for Credit Loss, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_lbl1" xlink:title="label: ContractWithCustomerAssetNetCurrent to us-gaap_ContractWithCustomerAssetNetCurrent_lbl1" />
    <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="ContractWithCustomerLiabilityNoncurrent" xlink:title="ContractWithCustomerLiabilityNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl">Deferred revenue, net of current portion</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityNoncurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl" xlink:title="label: ContractWithCustomerLiabilityNoncurrent to us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl1" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl1" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl1">Deferred revenue, non-current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityNoncurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl1" xlink:title="label: ContractWithCustomerLiabilityNoncurrent to us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl1" />
    <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="CostOfRevenue" xlink:title="CostOfRevenue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CostOfRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CostOfRevenue_lbl" xml:lang="en-US" id="us-gaap_CostOfRevenue_lbl">Cost of sales</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CostOfRevenue" xlink:to="us-gaap_CostOfRevenue_lbl" xlink:title="label: CostOfRevenue to us-gaap_CostOfRevenue_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="CurrentForeignTaxExpenseBenefit" xlink:title="CurrentForeignTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CurrentForeignTaxExpenseBenefit_lbl" xml:lang="en-US" id="us-gaap_CurrentForeignTaxExpenseBenefit_lbl">Foreign</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentForeignTaxExpenseBenefit" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit_lbl" xlink:title="label: CurrentForeignTaxExpenseBenefit to us-gaap_CurrentForeignTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CurrentForeignTaxExpenseBenefit_lbl1" xml:lang="en-US" id="us-gaap_CurrentForeignTaxExpenseBenefit_lbl1">Current Foreign Tax Expense (Benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentForeignTaxExpenseBenefit" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit_lbl1" xlink:title="label: CurrentForeignTaxExpenseBenefit to us-gaap_CurrentForeignTaxExpenseBenefit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="CurrentStateAndLocalTaxExpenseBenefit" xlink:title="CurrentStateAndLocalTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US" id="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl">State</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xlink:title="label: CurrentStateAndLocalTaxExpenseBenefit to us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl1" xml:lang="en-US" id="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl1">Current State and Local Tax Expense (Benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl1" xlink:title="label: CurrentStateAndLocalTaxExpenseBenefit to us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="CurrentFederalTaxExpenseBenefit" xlink:title="CurrentFederalTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xml:lang="en-US" id="us-gaap_CurrentFederalTaxExpenseBenefit_lbl">Federal</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xlink:title="label: CurrentFederalTaxExpenseBenefit to us-gaap_CurrentFederalTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CurrentFederalTaxExpenseBenefit_lbl1" xml:lang="en-US" id="us-gaap_CurrentFederalTaxExpenseBenefit_lbl1">Current Federal Tax Expense (Benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_lbl1" xlink:title="label: CurrentFederalTaxExpenseBenefit to us-gaap_CurrentFederalTaxExpenseBenefit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="CurrentIncomeTaxExpenseBenefit" xlink:title="CurrentIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US" id="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl">Income taxes current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xlink:title="label: CurrentIncomeTaxExpenseBenefit to us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl1" xml:lang="en-US" id="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl1">Current Income Tax Expense (Benefit)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl1" xlink:title="label: CurrentIncomeTaxExpenseBenefit to us-gaap_CurrentIncomeTaxExpenseBenefit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" id="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl">Current [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xlink:title="label: CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract to us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1" xml:lang="en-US" id="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1">Current Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1" xlink:title="label: CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract to us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1" />
    <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="CustomerConcentrationRiskMember" xlink:title="CustomerConcentrationRiskMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CustomerConcentrationRiskMember_lbl" xml:lang="en-US" id="us-gaap_CustomerConcentrationRiskMember_lbl">Customer Concentration Risk [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl" xlink:title="label: CustomerConcentrationRiskMember to us-gaap_CustomerConcentrationRiskMember_lbl" />
    <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="CustomerRelationshipsMember" xlink:title="CustomerRelationshipsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CustomerRelationshipsMember_lbl" xml:lang="en-US" id="us-gaap_CustomerRelationshipsMember_lbl">Customer Relationships [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember_lbl" xlink:title="label: CustomerRelationshipsMember to us-gaap_CustomerRelationshipsMember_lbl" />
    <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="DisaggregationOfRevenueLineItems" xlink:title="DisaggregationOfRevenueLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueLineItems_lbl" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueLineItems_lbl">Disaggregation of Revenue [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_lbl" xlink:title="label: DisaggregationOfRevenueLineItems to us-gaap_DisaggregationOfRevenueLineItems_lbl" />
    <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="DisaggregationOfRevenueTable" xlink:title="DisaggregationOfRevenueTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueTable_lbl" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueTable_lbl">Disaggregation of Revenue [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueTable_lbl" xlink:title="label: DisaggregationOfRevenueTable to us-gaap_DisaggregationOfRevenueTable_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="DisaggregationOfRevenueTableTextBlock" xlink:title="DisaggregationOfRevenueTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl">Disaggregation of Revenue</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xlink:title="label: DisaggregationOfRevenueTableTextBlock to us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl1">Disaggregation of Revenue [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl1" xlink:title="label: DisaggregationOfRevenueTableTextBlock to us-gaap_DisaggregationOfRevenueTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="DisaggregationOfRevenueAbstract" xlink:title="DisaggregationOfRevenueAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueAbstract_lbl" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueAbstract_lbl">Disaggregation of revenue [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueAbstract" xlink:to="us-gaap_DisaggregationOfRevenueAbstract_lbl" xlink:title="label: DisaggregationOfRevenueAbstract to us-gaap_DisaggregationOfRevenueAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="DebtInstrumentBasisSpreadOnVariableRate1" xlink:title="DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xml:lang="en-US" id="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl">Basis spread on variable rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xlink:title="label: DebtInstrumentBasisSpreadOnVariableRate1 to us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" xlink:title="DebtDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtDisclosureAbstract_lbl" xml:lang="en-US" id="us-gaap_DebtDisclosureAbstract_lbl">Borrowings [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract_lbl" xlink:title="label: DebtDisclosureAbstract to us-gaap_DebtDisclosureAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="DebtDisclosureTextBlock" xlink:title="DebtDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US" id="us-gaap_DebtDisclosureTextBlock_lbl">Borrowings</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_lbl" xlink:title="label: DebtDisclosureTextBlock to us-gaap_DebtDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtDisclosureTextBlock_lbl1" xml:lang="en-US" id="us-gaap_DebtDisclosureTextBlock_lbl1">Debt Disclosure [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_lbl1" xlink:title="label: DebtDisclosureTextBlock to us-gaap_DebtDisclosureTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="DebtInstrumentAxis" xlink:title="DebtInstrumentAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentAxis_lbl" xml:lang="en-US" id="us-gaap_DebtInstrumentAxis_lbl">Debt Instrument [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis_lbl" xlink:title="label: DebtInstrumentAxis to us-gaap_DebtInstrumentAxis_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="DebtInstrumentFaceAmount" xlink:title="DebtInstrumentFaceAmount" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DebtInstrumentFaceAmount_lbl" xml:lang="en-US" id="us-gaap_DebtInstrumentFaceAmount_lbl">Face amount</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount_lbl" xlink:title="label: DebtInstrumentFaceAmount to us-gaap_DebtInstrumentFaceAmount_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentFaceAmount_lbl1" xml:lang="en-US" id="us-gaap_DebtInstrumentFaceAmount_lbl1">Debt Instrument, Face Amount</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount_lbl1" xlink:title="label: DebtInstrumentFaceAmount to us-gaap_DebtInstrumentFaceAmount_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="DebtInstrumentTable" xlink:title="DebtInstrumentTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentTable_lbl" xml:lang="en-US" id="us-gaap_DebtInstrumentTable_lbl">Schedule of Long-term Debt Instruments [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentTable_lbl" xlink:title="label: DebtInstrumentTable to us-gaap_DebtInstrumentTable_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentDecreaseForgiveness" xlink:label="DebtInstrumentDecreaseForgiveness" xlink:title="DebtInstrumentDecreaseForgiveness" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentDecreaseForgiveness_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DebtInstrumentDecreaseForgiveness_lbl" xml:lang="en-US" id="us-gaap_DebtInstrumentDecreaseForgiveness_lbl">Loan forgiven</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentDecreaseForgiveness" xlink:to="us-gaap_DebtInstrumentDecreaseForgiveness_lbl" xlink:title="label: DebtInstrumentDecreaseForgiveness to us-gaap_DebtInstrumentDecreaseForgiveness_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentDecreaseForgiveness_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentDecreaseForgiveness_lbl1" xml:lang="en-US" id="us-gaap_DebtInstrumentDecreaseForgiveness_lbl1">Debt Instrument, Decrease, Forgiveness</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentDecreaseForgiveness" xlink:to="us-gaap_DebtInstrumentDecreaseForgiveness_lbl1" xlink:title="label: DebtInstrumentDecreaseForgiveness to us-gaap_DebtInstrumentDecreaseForgiveness_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="DebtInstrumentLineItems" xlink:title="DebtInstrumentLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US" id="us-gaap_DebtInstrumentLineItems_lbl">Debt Instrument [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentLineItems_lbl" xlink:title="label: DebtInstrumentLineItems to us-gaap_DebtInstrumentLineItems_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentsAbstract" xlink:label="DebtInstrumentsAbstract" xlink:title="DebtInstrumentsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_DebtInstrumentsAbstract_lbl" xml:lang="en-US" id="us-gaap_DebtInstrumentsAbstract_lbl">Description of business [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentsAbstract" xlink:to="us-gaap_DebtInstrumentsAbstract_lbl" xlink:title="label: DebtInstrumentsAbstract to us-gaap_DebtInstrumentsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentsAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentsAbstract_lbl1" xml:lang="en-US" id="us-gaap_DebtInstrumentsAbstract_lbl1">Debt Instruments [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentsAbstract" xlink:to="us-gaap_DebtInstrumentsAbstract_lbl1" xlink:title="label: DebtInstrumentsAbstract to us-gaap_DebtInstrumentsAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="DebtInstrumentInterestRateStatedPercentage" xlink:title="DebtInstrumentInterestRateStatedPercentage" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xml:lang="en-US" id="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl">Interest rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xlink:title="label: DebtInstrumentInterestRateStatedPercentage to us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl1" xml:lang="en-US" id="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl1">Debt Instrument, Interest Rate, Stated Percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl1" xlink:title="label: DebtInstrumentInterestRateStatedPercentage to us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="DebtInstrumentNameDomain" xlink:title="DebtInstrumentNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentNameDomain_lbl" xml:lang="en-US" id="us-gaap_DebtInstrumentNameDomain_lbl">Debt Instrument, Name [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentNameDomain" xlink:to="us-gaap_DebtInstrumentNameDomain_lbl" xlink:title="label: DebtInstrumentNameDomain to us-gaap_DebtInstrumentNameDomain_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" xlink:label="DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" xlink:title="DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible_lbl" xml:lang="en-US" id="us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible_lbl">Expected decrease in unrecognized tax benefits in next year</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" xlink:to="us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible_lbl" xlink:title="label: DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible to us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible_lbl1" xml:lang="en-US" id="us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible_lbl1">Decrease in Unrecognized Tax Benefits is Reasonably Possible</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" xlink:to="us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible_lbl1" xlink:title="label: DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible to us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="DeferredIncomeTaxAssetsNet" xlink:title="DeferredIncomeTaxAssetsNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxAssetsNet_lbl">Deferred tax assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xlink:title="label: DeferredIncomeTaxAssetsNet to us-gaap_DeferredIncomeTaxAssetsNet_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredIncomeTaxAssetsNet_lbl1" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxAssetsNet_lbl1">Deferred Income Tax Assets, Net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl1" xlink:title="label: DeferredIncomeTaxAssetsNet to us-gaap_DeferredIncomeTaxAssetsNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualMaximumContractualTerm1" xlink:label="DeferredCompensationArrangementWithIndividualMaximumContractualTerm1" xlink:title="DeferredCompensationArrangementWithIndividualMaximumContractualTerm1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualMaximumContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredCompensationArrangementWithIndividualMaximumContractualTerm1_lbl" xml:lang="en-US" id="us-gaap_DeferredCompensationArrangementWithIndividualMaximumContractualTerm1_lbl">Term of award</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredCompensationArrangementWithIndividualMaximumContractualTerm1" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualMaximumContractualTerm1_lbl" xlink:title="label: DeferredCompensationArrangementWithIndividualMaximumContractualTerm1 to us-gaap_DeferredCompensationArrangementWithIndividualMaximumContractualTerm1_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualMaximumContractualTerm1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredCompensationArrangementWithIndividualMaximumContractualTerm1_lbl1" xml:lang="en-US" id="us-gaap_DeferredCompensationArrangementWithIndividualMaximumContractualTerm1_lbl1">Deferred Compensation Arrangement with Individual, Maximum Contractual Term</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredCompensationArrangementWithIndividualMaximumContractualTerm1" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualMaximumContractualTerm1_lbl1" xlink:title="label: DeferredCompensationArrangementWithIndividualMaximumContractualTerm1 to us-gaap_DeferredCompensationArrangementWithIndividualMaximumContractualTerm1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:label="DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:title="DeferredCompensationArrangementWithIndividualCompensationExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense_lbl" xml:lang="en-US" id="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense_lbl">Deferred compensation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense_lbl" xlink:title="label: DeferredCompensationArrangementWithIndividualCompensationExpense to us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense_lbl1" xml:lang="en-US" id="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense_lbl1">Deferred Compensation Arrangement with Individual, Compensation Expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense_lbl1" xlink:title="label: DeferredCompensationArrangementWithIndividualCompensationExpense to us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:label="DeferredTaxLiabilitiesNetAbstract" xlink:title="DeferredTaxLiabilitiesNetAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" xml:lang="en-US" id="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl">Deferred tax liabilities [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" xlink:title="label: DeferredTaxLiabilitiesNetAbstract to us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:label="DeferredCompensationArrangementWithIndividualSharesIssued" xlink:title="DeferredCompensationArrangementWithIndividualSharesIssued" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued_lbl" xml:lang="en-US" id="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued_lbl">Deferred stock units issued for incentive bonus (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredCompensationArrangementWithIndividualSharesIssued" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued_lbl" xlink:title="label: DeferredCompensationArrangementWithIndividualSharesIssued to us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued_lbl1" xml:lang="en-US" id="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued_lbl1">Deferred Compensation Arrangement with Individual, Shares Issued</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredCompensationArrangementWithIndividualSharesIssued" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued_lbl1" xlink:title="label: DeferredCompensationArrangementWithIndividualSharesIssued to us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExercisePrice" xlink:label="DeferredCompensationArrangementWithIndividualExercisePrice" xlink:title="DeferredCompensationArrangementWithIndividualExercisePrice" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredCompensationArrangementWithIndividualExercisePrice_lbl" xml:lang="en-US" id="us-gaap_DeferredCompensationArrangementWithIndividualExercisePrice_lbl">Weighted average exercise price of deferred stock units (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredCompensationArrangementWithIndividualExercisePrice" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualExercisePrice_lbl" xlink:title="label: DeferredCompensationArrangementWithIndividualExercisePrice to us-gaap_DeferredCompensationArrangementWithIndividualExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualExercisePrice_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredCompensationArrangementWithIndividualExercisePrice_lbl1" xml:lang="en-US" id="us-gaap_DeferredCompensationArrangementWithIndividualExercisePrice_lbl1">Deferred Compensation Arrangement with Individual, Exercise Price</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredCompensationArrangementWithIndividualExercisePrice" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualExercisePrice_lbl1" xlink:title="label: DeferredCompensationArrangementWithIndividualExercisePrice to us-gaap_DeferredCompensationArrangementWithIndividualExercisePrice_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis" xlink:label="DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis" xlink:title="DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis_lbl" xml:lang="en-US" id="us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis_lbl">Equity-Based Arrangements, Individual Contracts, Type of Deferred Compensation [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis_lbl" xlink:title="label: DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis to us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementsAbstract" xlink:label="DeferredCompensationArrangementsAbstract" xlink:title="DeferredCompensationArrangementsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_DeferredCompensationArrangementsAbstract_lbl" xml:lang="en-US" id="us-gaap_DeferredCompensationArrangementsAbstract_lbl">Restricted stock [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredCompensationArrangementsAbstract" xlink:to="us-gaap_DeferredCompensationArrangementsAbstract_lbl" xlink:title="label: DeferredCompensationArrangementsAbstract to us-gaap_DeferredCompensationArrangementsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementsAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredCompensationArrangementsAbstract_lbl1" xml:lang="en-US" id="us-gaap_DeferredCompensationArrangementsAbstract_lbl1">Deferred Compensation Arrangements [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredCompensationArrangementsAbstract" xlink:to="us-gaap_DeferredCompensationArrangementsAbstract_lbl1" xlink:title="label: DeferredCompensationArrangementsAbstract to us-gaap_DeferredCompensationArrangementsAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationShareBasedPaymentsMember" xlink:label="DeferredCompensationShareBasedPaymentsMember" xlink:title="DeferredCompensationShareBasedPaymentsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredCompensationShareBasedPaymentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredCompensationShareBasedPaymentsMember_lbl" xml:lang="en-US" id="us-gaap_DeferredCompensationShareBasedPaymentsMember_lbl">Restricted Stock [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredCompensationShareBasedPaymentsMember" xlink:to="us-gaap_DeferredCompensationShareBasedPaymentsMember_lbl" xlink:title="label: DeferredCompensationShareBasedPaymentsMember to us-gaap_DeferredCompensationShareBasedPaymentsMember_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredCompensationShareBasedPaymentsMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredCompensationShareBasedPaymentsMember_lbl1" xml:lang="en-US" id="us-gaap_DeferredCompensationShareBasedPaymentsMember_lbl1">Deferred Compensation, Share-based Payments [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredCompensationShareBasedPaymentsMember" xlink:to="us-gaap_DeferredCompensationShareBasedPaymentsMember_lbl1" xlink:title="label: DeferredCompensationShareBasedPaymentsMember to us-gaap_DeferredCompensationShareBasedPaymentsMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems" xlink:label="DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems" xlink:title="DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems_lbl" xml:lang="en-US" id="us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems_lbl">Deferred Compensation Arrangement with Individual, Share-based Payments [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems" xlink:to="us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems_lbl" xlink:title="label: DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems to us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl">Deferred [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xlink:title="label: DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract to us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1">Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1" xlink:title="label: DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract to us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="DeferredFederalIncomeTaxExpenseBenefit" xlink:title="DeferredFederalIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US" id="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl">Federal</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xlink:title="label: DeferredFederalIncomeTaxExpenseBenefit to us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="DeferredIncomeTaxExpenseBenefit" xlink:title="DeferredIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl">Deferred income tax benefit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xlink:title="label: DeferredIncomeTaxExpenseBenefit to us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl1" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl1">Income taxes deferred</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl1" xlink:title="label: DeferredIncomeTaxExpenseBenefit to us-gaap_DeferredIncomeTaxExpenseBenefit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="DeferredFinanceCostsGross" xlink:title="DeferredFinanceCostsGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredFinanceCostsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredFinanceCostsGross_lbl" xml:lang="en-US" id="us-gaap_DeferredFinanceCostsGross_lbl">Deferred financing costs</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredFinanceCostsGross" xlink:to="us-gaap_DeferredFinanceCostsGross_lbl" xlink:title="label: DeferredFinanceCostsGross to us-gaap_DeferredFinanceCostsGross_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredFinanceCostsGross_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredFinanceCostsGross_lbl1" xml:lang="en-US" id="us-gaap_DeferredFinanceCostsGross_lbl1">Debt Issuance Costs, Gross</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredFinanceCostsGross" xlink:to="us-gaap_DeferredFinanceCostsGross_lbl1" xlink:title="label: DeferredFinanceCostsGross to us-gaap_DeferredFinanceCostsGross_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="DeferredForeignIncomeTaxExpenseBenefit" xlink:title="DeferredForeignIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl" xml:lang="en-US" id="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl">Foreign</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredForeignIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl" xlink:title="label: DeferredForeignIncomeTaxExpenseBenefit to us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredRentCredit" xlink:label="DeferredRentCredit" xlink:title="DeferredRentCredit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredRentCredit_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredRentCredit_lbl" xml:lang="en-US" id="us-gaap_DeferredRentCredit_lbl">Deferred rent, net of current portion</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredRentCredit" xlink:to="us-gaap_DeferredRentCredit_lbl" xlink:title="label: DeferredRentCredit to us-gaap_DeferredRentCredit_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:title="DeferredStateAndLocalIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US" id="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl">State</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" xlink:title="label: DeferredStateAndLocalIncomeTaxExpenseBenefit to us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:label="DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:title="DeferredTaxAssetsOperatingLossCarryforwardsDomestic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic_lbl" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic_lbl">Deferred Tax Assets, Operating Loss Carryforwards, Domestic</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic_lbl" xlink:title="label: DeferredTaxAssetsOperatingLossCarryforwardsDomestic to us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsNetAbstract" xlink:label="DeferredTaxAssetsNetAbstract" xlink:title="DeferredTaxAssetsNetAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredTaxAssetsNetAbstract_lbl" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsNetAbstract_lbl">Deferred tax assets [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract_lbl" xlink:title="label: DeferredTaxAssetsNetAbstract to us-gaap_DeferredTaxAssetsNetAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsNetAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsNetAbstract_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsNetAbstract_lbl1">Deferred Tax Assets, Net [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="us-gaap_DeferredTaxAssetsNetAbstract_lbl1" xlink:title="label: DeferredTaxAssetsNetAbstract to us-gaap_DeferredTaxAssetsNetAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="DeferredTaxAssetsInventory" xlink:title="DeferredTaxAssetsInventory" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsInventory_lbl" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsInventory_lbl">Inventory reserves</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsInventory" xlink:to="us-gaap_DeferredTaxAssetsInventory_lbl" xlink:title="label: DeferredTaxAssetsInventory to us-gaap_DeferredTaxAssetsInventory_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="DeferredTaxAssetsNet" xlink:title="DeferredTaxAssetsNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsNet_lbl">Net deferred tax assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl" xlink:title="label: DeferredTaxAssetsNet to us-gaap_DeferredTaxAssetsNet_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsNet_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsNet_lbl1">Deferred Tax Assets, Net of Valuation Allowance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl1" xlink:title="label: DeferredTaxAssetsNet to us-gaap_DeferredTaxAssetsNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="DeferredTaxAssetsLiabilitiesNet" xlink:title="DeferredTaxAssetsLiabilitiesNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl">Total net deferred tax assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xlink:title="label: DeferredTaxAssetsLiabilitiesNet to us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl1">Deferred Tax Assets, Net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl1" xlink:title="label: DeferredTaxAssetsLiabilitiesNet to us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="DeferredTaxAssetsGross" xlink:title="DeferredTaxAssetsGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_DeferredTaxAssetsGross_lbl" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsGross_lbl">Gross deferred tax assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_lbl" xlink:title="label: DeferredTaxAssetsGross to us-gaap_DeferredTaxAssetsGross_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsGross_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsGross_lbl1">Deferred Tax Assets, Gross</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_lbl1" xlink:title="label: DeferredTaxAssetsGross to us-gaap_DeferredTaxAssetsGross_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsDeferredIncome" xlink:label="DeferredTaxAssetsDeferredIncome" xlink:title="DeferredTaxAssetsDeferredIncome" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsDeferredIncome_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredTaxAssetsDeferredIncome_lbl" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsDeferredIncome_lbl">Deferred revenue</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsDeferredIncome" xlink:to="us-gaap_DeferredTaxAssetsDeferredIncome_lbl" xlink:title="label: DeferredTaxAssetsDeferredIncome to us-gaap_DeferredTaxAssetsDeferredIncome_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsDeferredIncome_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsDeferredIncome_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsDeferredIncome_lbl1">Deferred Tax Assets, Deferred Income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsDeferredIncome" xlink:to="us-gaap_DeferredTaxAssetsDeferredIncome_lbl1" xlink:title="label: DeferredTaxAssetsDeferredIncome to us-gaap_DeferredTaxAssetsDeferredIncome_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:title="DeferredTaxAssetsTaxCreditCarryforwardsResearch" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl">R&amp;D credit carryforward</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl" xlink:title="label: DeferredTaxAssetsTaxCreditCarryforwardsResearch to us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:title="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl">Stock compensation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl" xlink:title="label: DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost to us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="DeferredTaxAssetsOther" xlink:title="DeferredTaxAssetsOther" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsOther_lbl" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsOther_lbl">Other liabilities and reserves</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsOther" xlink:to="us-gaap_DeferredTaxAssetsOther_lbl" xlink:title="label: DeferredTaxAssetsOther to us-gaap_DeferredTaxAssetsOther_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:label="DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:title="DeferredTaxAssetsOperatingLossCarryforwardsForeign" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign_lbl" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign_lbl">Foreign net operating losses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign_lbl" xlink:title="label: DeferredTaxAssetsOperatingLossCarryforwardsForeign to us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:label="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:title="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_lbl" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_lbl">Other accrued compensation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_lbl" xlink:title="label: DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation to us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements_lbl" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements_lbl">Depreciation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements_lbl" xlink:title="label: DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements to us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements_lbl1">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Legal Settlements</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements_lbl1" xlink:title="label: DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements to us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="DeferredTaxLiabilities" xlink:title="DeferredTaxLiabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_DeferredTaxLiabilities_lbl" xml:lang="en-US" id="us-gaap_DeferredTaxLiabilities_lbl">Net deferred tax liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilities_lbl" xlink:title="label: DeferredTaxLiabilities to us-gaap_DeferredTaxLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxLiabilities_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxLiabilities_lbl1">Deferred Tax Liabilities, Net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxLiabilities" xlink:to="us-gaap_DeferredTaxLiabilities_lbl1" xlink:title="label: DeferredTaxLiabilities to us-gaap_DeferredTaxLiabilities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_lbl" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_lbl">Warranty reserve</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_lbl" xlink:title="label: DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves to us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="DeferredTaxAssetsValuationAllowance" xlink:title="DeferredTaxAssetsValuationAllowance" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsValuationAllowance_lbl">Valuation allowance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xlink:title="label: DeferredTaxAssetsValuationAllowance to us-gaap_DeferredTaxAssetsValuationAllowance_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxAssetsValuationAllowance_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxAssetsValuationAllowance_lbl1">Deferred Tax Assets, Valuation Allowance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl1" xlink:title="label: DeferredTaxAssetsValuationAllowance to us-gaap_DeferredTaxAssetsValuationAllowance_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="DeferredTaxLiabilitiesOther" xlink:title="DeferredTaxLiabilitiesOther" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredTaxLiabilitiesOther_lbl" xml:lang="en-US" id="us-gaap_DeferredTaxLiabilitiesOther_lbl">Other</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxLiabilitiesOther" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_lbl" xlink:title="label: DeferredTaxLiabilitiesOther to us-gaap_DeferredTaxLiabilitiesOther_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxLiabilitiesOther_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxLiabilitiesOther_lbl1">Deferred Tax Liabilities, Other</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxLiabilitiesOther" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_lbl1" xlink:title="label: DeferredTaxLiabilitiesOther to us-gaap_DeferredTaxLiabilitiesOther_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:title="DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xml:lang="en-US" id="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl">Depreciation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xlink:title="label: DeferredTaxLiabilitiesPropertyPlantAndEquipment to us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl1" xml:lang="en-US" id="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl1">Deferred Tax Liabilities, Property, Plant and Equipment</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl1" xlink:title="label: DeferredTaxLiabilitiesPropertyPlantAndEquipment to us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:label="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:title="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_lbl" xml:lang="en-US" id="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_lbl">Employer matching contribution percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_lbl" xlink:title="label: DefinedContributionPlanEmployerMatchingContributionPercentOfMatch to us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="DefinedContributionPlanEmployerMatchingContributionPercent" xlink:title="DefinedContributionPlanEmployerMatchingContributionPercent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl" xml:lang="en-US" id="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl">Employee's contribution percentage for match</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DefinedContributionPlanEmployerMatchingContributionPercent" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl" xlink:title="label: DefinedContributionPlanEmployerMatchingContributionPercent to us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="DefinedContributionPlanCostRecognized" xlink:title="DefinedContributionPlanCostRecognized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DefinedContributionPlanCostRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DefinedContributionPlanCostRecognized_lbl" xml:lang="en-US" id="us-gaap_DefinedContributionPlanCostRecognized_lbl">Amount of matching contribution</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DefinedContributionPlanCostRecognized" xlink:to="us-gaap_DefinedContributionPlanCostRecognized_lbl" xlink:title="label: DefinedContributionPlanCostRecognized to us-gaap_DefinedContributionPlanCostRecognized_lbl" />
    <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="Depreciation" xlink:title="Depreciation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Depreciation_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_Depreciation_lbl" xml:lang="en-US" id="us-gaap_Depreciation_lbl">Depreciation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Depreciation" xlink:to="us-gaap_Depreciation_lbl" xlink:title="label: Depreciation to us-gaap_Depreciation_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DepreciationAndAmortization" xlink:label="DepreciationAndAmortization" xlink:title="DepreciationAndAmortization" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DepreciationAndAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_DepreciationAndAmortization_lbl" xml:lang="en-US" id="us-gaap_DepreciationAndAmortization_lbl">Depreciation and amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization_lbl" xlink:title="label: DepreciationAndAmortization to us-gaap_DepreciationAndAmortization_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DepreciationAndAmortization_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DepreciationAndAmortization_lbl1" xml:lang="en-US" id="us-gaap_DepreciationAndAmortization_lbl1">Depreciation, Depletion and Amortization, Nonproduction</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization_lbl1" xlink:title="label: DepreciationAndAmortization to us-gaap_DepreciationAndAmortization_lbl1" />
    <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="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xml:lang="en-US" id="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl">Stock incentive plans [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xlink:title="label: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" />
    <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="DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:title="DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US" id="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl">Stock incentive plans</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xlink:title="label: DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock to us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="DomesticCountryMember" xlink:title="DomesticCountryMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DomesticCountryMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DomesticCountryMember_lbl" xml:lang="en-US" id="us-gaap_DomesticCountryMember_lbl">Federal [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DomesticCountryMember" xlink:to="us-gaap_DomesticCountryMember_lbl" xlink:title="label: DomesticCountryMember to us-gaap_DomesticCountryMember_lbl" />
    <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="EarningsPerShareTextBlock" xlink:title="EarningsPerShareTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US" id="us-gaap_EarningsPerShareTextBlock_lbl">Earnings per share</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl" xlink:title="label: EarningsPerShareTextBlock to us-gaap_EarningsPerShareTextBlock_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareReconciliationAbstract" xlink:label="EarningsPerShareReconciliationAbstract" xlink:title="EarningsPerShareReconciliationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareReconciliationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EarningsPerShareReconciliationAbstract_lbl" xml:lang="en-US" id="us-gaap_EarningsPerShareReconciliationAbstract_lbl">Earnings per share [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareReconciliationAbstract" xlink:to="us-gaap_EarningsPerShareReconciliationAbstract_lbl" xlink:title="label: EarningsPerShareReconciliationAbstract to us-gaap_EarningsPerShareReconciliationAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareReconciliationAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareReconciliationAbstract_lbl1" xml:lang="en-US" id="us-gaap_EarningsPerShareReconciliationAbstract_lbl1">Earnings Per Share Reconciliation [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareReconciliationAbstract" xlink:to="us-gaap_EarningsPerShareReconciliationAbstract_lbl1" xlink:title="label: EarningsPerShareReconciliationAbstract to us-gaap_EarningsPerShareReconciliationAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" xlink:label="EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" xlink:title="EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract_lbl" xml:lang="en-US" id="us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract_lbl">Shares used in per-share calculation:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" xlink:to="us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract_lbl" xlink:title="label: EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract to us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:label="EarningsPerShareBasicAndDilutedAbstract" xlink:title="EarningsPerShareBasicAndDilutedAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl" xml:lang="en-US" id="us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl">Net loss per common share:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareBasicAndDilutedAbstract" xlink:to="us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl" xlink:title="label: EarningsPerShareBasicAndDilutedAbstract to us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl1" xml:lang="en-US" id="us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl1">Net (loss) income per common share [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareBasicAndDilutedAbstract" xlink:to="us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl1" xlink:title="label: EarningsPerShareBasicAndDilutedAbstract to us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl2" xml:lang="en-US" id="us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl2">Net loss per common share [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareBasicAndDilutedAbstract" xlink:to="us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl2" xlink:title="label: EarningsPerShareBasicAndDilutedAbstract to us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="EarningsPerSharePolicyTextBlock" xlink:title="EarningsPerSharePolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US" id="us-gaap_EarningsPerSharePolicyTextBlock_lbl">Net income and loss per share</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xlink:title="label: EarningsPerSharePolicyTextBlock to us-gaap_EarningsPerSharePolicyTextBlock_lbl" />
    <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="EarningsPerShareBasic" xlink:title="EarningsPerShareBasic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US" id="us-gaap_EarningsPerShareBasic_lbl">Basic (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" xlink:title="label: EarningsPerShareBasic to us-gaap_EarningsPerShareBasic_lbl" />
    <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="EarningsPerShareAbstract" xlink:title="EarningsPerShareAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US" id="us-gaap_EarningsPerShareAbstract_lbl">Earnings per share [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl" xlink:title="label: EarningsPerShareAbstract to us-gaap_EarningsPerShareAbstract_lbl" />
    <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="EarningsPerShareDiluted" xlink:title="EarningsPerShareDiluted" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US" id="us-gaap_EarningsPerShareDiluted_lbl">Diluted (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" xlink:title="label: EarningsPerShareDiluted to us-gaap_EarningsPerShareDiluted_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareDiluted_lbl1" xml:lang="en-US" id="us-gaap_EarningsPerShareDiluted_lbl1">Earnings Per Share, Diluted</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl1" xlink:title="label: EarningsPerShareDiluted to us-gaap_EarningsPerShareDiluted_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" id="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl">Effect of exchange rate changes on cash and cash equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:title="label: EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:label="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:title="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment_lbl" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment_lbl">Business meals and entertainment</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment_lbl" xlink:title="label: EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment to us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:title="EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl">U.S. corporate tax rate change</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl" xlink:title="label: EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate to us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:title="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl">Stock option cancellations</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl" xlink:title="label: EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost to us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:title="EffectiveIncomeTaxRateReconciliationOtherAdjustments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl">Other</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xlink:title="label: EffectiveIncomeTaxRateReconciliationOtherAdjustments to us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl1" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl1">Effective Income Tax Rate Reconciliation, Other Adjustments, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationOtherAdjustments to us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:title="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl">Valuation allowance and tax accruals</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xlink:title="label: EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance to us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion" xlink:label="EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion" xlink:title="EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion_lbl" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion_lbl">Foreign-derived intangible income deduction</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion_lbl" xlink:title="label: EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion to us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion_lbl1" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion_lbl1">Effective Income Tax Rate Reconciliation, Deduction, Extraterritorial Income Exclusion, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion to us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:title="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl">Stock award excess tax benefit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl" xlink:title="label: EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent to us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl1" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl1">Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent to us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl">Federal statutory tax rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xlink:title="label: EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate to us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl1" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl1">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate to us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:label="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:title="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl">R&amp;D credit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl" xlink:title="label: EffectiveIncomeTaxRateReconciliationTaxCreditsResearch to us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl1" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl1">Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationTaxCreditsResearch to us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:title="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl">Effective Tax Rate Reconciliation [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xlink:title="label: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="EffectiveIncomeTaxRateContinuingOperations" xlink:title="EffectiveIncomeTaxRateContinuingOperations" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl">Effective tax rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xlink:title="label: EffectiveIncomeTaxRateContinuingOperations to us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl1" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl1">Effective tax rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl1" xlink:title="label: EffectiveIncomeTaxRateContinuingOperations to us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:title="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl">State income taxes, net of federal income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xlink:title="label: EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes to us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:title="EffectiveIncomeTaxRateReconciliationTaxContingencies" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl">Uncertain tax positions</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl" xlink:title="label: EffectiveIncomeTaxRateReconciliationTaxContingencies to us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl1" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl1">Effective Income Tax Rate Reconciliation, Tax Contingency, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationTaxContingencies to us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:label="EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:title="EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions_lbl" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions_lbl">Excess tax benefit in provision for income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions_lbl" xlink:title="label: EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions to us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl">Weighted average period to recognize compensation cost not yet recognized</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 to us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl1" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl1">Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl1" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 to us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="EmployeeStockOptionMember" xlink:title="EmployeeStockOptionMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeStockOptionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EmployeeStockOptionMember_lbl" xml:lang="en-US" id="us-gaap_EmployeeStockOptionMember_lbl">Stock Options [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember_lbl" xlink:title="label: EmployeeStockOptionMember to us-gaap_EmployeeStockOptionMember_lbl" />
    <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="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:title="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl">Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl" xlink:title="label: EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems to us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:title="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_lbl" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_lbl">Income tax benefit from share-based compensation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_lbl" xlink:title="label: EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense to us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_lbl1" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_lbl1">Share-based Payment Arrangement, Expense, Tax Benefit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_lbl1" xlink:title="label: EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense to us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="EmployeeRelatedLiabilitiesCurrent" xlink:title="EmployeeRelatedLiabilitiesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US" id="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl">Salaries and compensation related</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xlink:title="label: EmployeeRelatedLiabilitiesCurrent to us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl">Unrecognized compensation cost related to stock options</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions to us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl1" xml:lang="en-US" id="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl1">Share-based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl1" xlink:title="label: EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions to us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_lbl1" />
    <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="EquityComponentDomain" xlink:title="EquityComponentDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EquityComponentDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EquityComponentDomain_lbl" xml:lang="en-US" id="us-gaap_EquityComponentDomain_lbl">Equity Component [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain_lbl" xlink:title="label: EquityComponentDomain to us-gaap_EquityComponentDomain_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain" xlink:label="EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain" xlink:title="EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain_lbl" xml:lang="en-US" id="us-gaap_EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain_lbl">Equity-Based Arrangements, Individual Contracts, Type of Deferred Compensation [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain" xlink:to="us-gaap_EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain_lbl" xlink:title="label: EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain to us-gaap_EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain_lbl" />
    <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="EquityAbstract" xlink:title="EquityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EquityAbstract_lbl" xml:lang="en-US" id="us-gaap_EquityAbstract_lbl">Stock repurchase program [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityAbstract" xlink:to="us-gaap_EquityAbstract_lbl" xlink:title="label: EquityAbstract to us-gaap_EquityAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:label="ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:title="ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities_lbl" xml:lang="en-US" id="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities_lbl">Withholding taxes paid on stock issuance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:to="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities_lbl" xlink:title="label: ExcessTaxBenefitFromShareBasedCompensationFinancingActivities to us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities_lbl1" xml:lang="en-US" id="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities_lbl1">Excess Tax Benefit from Share-based Compensation, Financing Activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:to="us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities_lbl1" xlink:title="label: ExcessTaxBenefitFromShareBasedCompensationFinancingActivities to us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyAccrual" xlink:label="ExtendedProductWarrantyAccrual" xlink:title="ExtendedProductWarrantyAccrual" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ExtendedProductWarrantyAccrual_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_ExtendedProductWarrantyAccrual_lbl" xml:lang="en-US" id="us-gaap_ExtendedProductWarrantyAccrual_lbl">Balance, end of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExtendedProductWarrantyAccrual" xlink:to="us-gaap_ExtendedProductWarrantyAccrual_lbl" xlink:title="label: ExtendedProductWarrantyAccrual to us-gaap_ExtendedProductWarrantyAccrual_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ExtendedProductWarrantyAccrual_lbl1" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_ExtendedProductWarrantyAccrual_lbl1" xml:lang="en-US" id="us-gaap_ExtendedProductWarrantyAccrual_lbl1">Balance, beginning of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExtendedProductWarrantyAccrual" xlink:to="us-gaap_ExtendedProductWarrantyAccrual_lbl1" xlink:title="label: ExtendedProductWarrantyAccrual to us-gaap_ExtendedProductWarrantyAccrual_lbl1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ExtendedProductWarrantyAccrual_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ExtendedProductWarrantyAccrual_lbl2" xml:lang="en-US" id="us-gaap_ExtendedProductWarrantyAccrual_lbl2">Extended Product Warranty Accrual</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExtendedProductWarrantyAccrual" xlink:to="us-gaap_ExtendedProductWarrantyAccrual_lbl2" xlink:title="label: ExtendedProductWarrantyAccrual to us-gaap_ExtendedProductWarrantyAccrual_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyAccrualNoncurrent" xlink:label="ExtendedProductWarrantyAccrualNoncurrent" xlink:title="ExtendedProductWarrantyAccrualNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ExtendedProductWarrantyAccrualNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ExtendedProductWarrantyAccrualNoncurrent_lbl" xml:lang="en-US" id="us-gaap_ExtendedProductWarrantyAccrualNoncurrent_lbl">Accrued product warranty liability, long-term</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExtendedProductWarrantyAccrualNoncurrent" xlink:to="us-gaap_ExtendedProductWarrantyAccrualNoncurrent_lbl" xlink:title="label: ExtendedProductWarrantyAccrualNoncurrent to us-gaap_ExtendedProductWarrantyAccrualNoncurrent_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyAccrualPayments" xlink:label="ExtendedProductWarrantyAccrualPayments" xlink:title="ExtendedProductWarrantyAccrualPayments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ExtendedProductWarrantyAccrualPayments_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ExtendedProductWarrantyAccrualPayments_lbl" xml:lang="en-US" id="us-gaap_ExtendedProductWarrantyAccrualPayments_lbl">Warranty settlements</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExtendedProductWarrantyAccrualPayments" xlink:to="us-gaap_ExtendedProductWarrantyAccrualPayments_lbl" xlink:title="label: ExtendedProductWarrantyAccrualPayments to us-gaap_ExtendedProductWarrantyAccrualPayments_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ExtendedProductWarrantyAccrualPayments_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ExtendedProductWarrantyAccrualPayments_lbl1" xml:lang="en-US" id="us-gaap_ExtendedProductWarrantyAccrualPayments_lbl1">Extended Product Warranty Accrual, Decrease for Payments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExtendedProductWarrantyAccrualPayments" xlink:to="us-gaap_ExtendedProductWarrantyAccrualPayments_lbl1" xlink:title="label: ExtendedProductWarrantyAccrualPayments to us-gaap_ExtendedProductWarrantyAccrualPayments_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyAccrualCurrent" xlink:label="ExtendedProductWarrantyAccrualCurrent" xlink:title="ExtendedProductWarrantyAccrualCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ExtendedProductWarrantyAccrualCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ExtendedProductWarrantyAccrualCurrent_lbl" xml:lang="en-US" id="us-gaap_ExtendedProductWarrantyAccrualCurrent_lbl">Accrued product warranty liability, current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExtendedProductWarrantyAccrualCurrent" xlink:to="us-gaap_ExtendedProductWarrantyAccrualCurrent_lbl" xlink:title="label: ExtendedProductWarrantyAccrualCurrent to us-gaap_ExtendedProductWarrantyAccrualCurrent_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ExtendedProductWarrantyAccrualCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ExtendedProductWarrantyAccrualCurrent_lbl1" xml:lang="en-US" id="us-gaap_ExtendedProductWarrantyAccrualCurrent_lbl1">Warranty</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExtendedProductWarrantyAccrualCurrent" xlink:to="us-gaap_ExtendedProductWarrantyAccrualCurrent_lbl1" xlink:title="label: ExtendedProductWarrantyAccrualCurrent to us-gaap_ExtendedProductWarrantyAccrualCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyDisclosureAbstract" xlink:label="ExtendedProductWarrantyDisclosureAbstract" xlink:title="ExtendedProductWarrantyDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ExtendedProductWarrantyDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ExtendedProductWarrantyDisclosureAbstract_lbl" xml:lang="en-US" id="us-gaap_ExtendedProductWarrantyDisclosureAbstract_lbl">Warranty [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExtendedProductWarrantyDisclosureAbstract" xlink:to="us-gaap_ExtendedProductWarrantyDisclosureAbstract_lbl" xlink:title="label: ExtendedProductWarrantyDisclosureAbstract to us-gaap_ExtendedProductWarrantyDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ExtendedProductWarrantyDisclosureAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ExtendedProductWarrantyDisclosureAbstract_lbl1" xml:lang="en-US" id="us-gaap_ExtendedProductWarrantyDisclosureAbstract_lbl1">Extended Product Warranty Disclosure [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExtendedProductWarrantyDisclosureAbstract" xlink:to="us-gaap_ExtendedProductWarrantyDisclosureAbstract_lbl1" xlink:title="label: ExtendedProductWarrantyDisclosureAbstract to us-gaap_ExtendedProductWarrantyDisclosureAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued" xlink:label="ExtendedProductWarrantyAccrualWarrantiesIssued" xlink:title="ExtendedProductWarrantyAccrualWarrantiesIssued" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued_lbl" xml:lang="en-US" id="us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued_lbl">Warranties issued</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExtendedProductWarrantyAccrualWarrantiesIssued" xlink:to="us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued_lbl" xlink:title="label: ExtendedProductWarrantyAccrualWarrantiesIssued to us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued_lbl1" xml:lang="en-US" id="us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued_lbl1">Extended Product Warranty Accrual, Increase for Warranties Issued</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExtendedProductWarrantyAccrualWarrantiesIssued" xlink:to="us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued_lbl1" xlink:title="label: ExtendedProductWarrantyAccrualWarrantiesIssued to us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtraordinaryAndUnusualItemsAbstract" xlink:label="ExtraordinaryAndUnusualItemsAbstract" xlink:title="ExtraordinaryAndUnusualItemsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ExtraordinaryAndUnusualItemsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_ExtraordinaryAndUnusualItemsAbstract_lbl" xml:lang="en-US" id="us-gaap_ExtraordinaryAndUnusualItemsAbstract_lbl">Description of business [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExtraordinaryAndUnusualItemsAbstract" xlink:to="us-gaap_ExtraordinaryAndUnusualItemsAbstract_lbl" xlink:title="label: ExtraordinaryAndUnusualItemsAbstract to us-gaap_ExtraordinaryAndUnusualItemsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ExtraordinaryAndUnusualItemsAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ExtraordinaryAndUnusualItemsAbstract_lbl1" xml:lang="en-US" id="us-gaap_ExtraordinaryAndUnusualItemsAbstract_lbl1">Unusual or Infrequent Items, or Both [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExtraordinaryAndUnusualItemsAbstract" xlink:to="us-gaap_ExtraordinaryAndUnusualItemsAbstract_lbl1" xlink:title="label: ExtraordinaryAndUnusualItemsAbstract to us-gaap_ExtraordinaryAndUnusualItemsAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FederalFundsEffectiveSwapRateMember" xlink:label="FederalFundsEffectiveSwapRateMember" xlink:title="FederalFundsEffectiveSwapRateMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FederalFundsEffectiveSwapRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FederalFundsEffectiveSwapRateMember_lbl" xml:lang="en-US" id="us-gaap_FederalFundsEffectiveSwapRateMember_lbl">Federal Funds Rate [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FederalFundsEffectiveSwapRateMember" xlink:to="us-gaap_FederalFundsEffectiveSwapRateMember_lbl" xlink:title="label: FederalFundsEffectiveSwapRateMember to us-gaap_FederalFundsEffectiveSwapRateMember_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FederalFundsEffectiveSwapRateMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FederalFundsEffectiveSwapRateMember_lbl1" xml:lang="en-US" id="us-gaap_FederalFundsEffectiveSwapRateMember_lbl1">Fed Funds Effective Rate Overnight Index Swap Rate [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FederalFundsEffectiveSwapRateMember" xlink:to="us-gaap_FederalFundsEffectiveSwapRateMember_lbl1" xlink:title="label: FederalFundsEffectiveSwapRateMember to us-gaap_FederalFundsEffectiveSwapRateMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="FiniteLivedIntangibleAssetsNetAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNetAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsNetAbstract_lbl" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsNetAbstract_lbl">Identifiable intangible assets [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNetAbstract_lbl" xlink:title="label: FiniteLivedIntangibleAssetsNetAbstract to us-gaap_FiniteLivedIntangibleAssetsNetAbstract_lbl" />
    <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="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl">2025</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xlink:title="label: FiniteLivedIntangibleAssetsAmortizationExpenseYearFour to us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" />
    <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="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl">2023</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xlink:title="label: FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo to us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" />
    <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="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:title="FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl">Accumulated amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:title="label: FiniteLivedIntangibleAssetsAccumulatedAmortization to us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1" xlink:title="label: FiniteLivedIntangibleAssetsAccumulatedAmortization to us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1" />
    <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="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xlink:title="label: FiniteLivedIntangibleAssetsMajorClassNameDomain to us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" />
    <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="FiniteLivedIntangibleAssetsLineItems" xlink:title="FiniteLivedIntangibleAssetsLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xlink:title="label: FiniteLivedIntangibleAssetsLineItems to us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" />
    <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="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl">2024</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xlink:title="label: FiniteLivedIntangibleAssetsAmortizationExpenseYearThree to us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:title="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_lbl" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_lbl">Future amortization expense [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_lbl" xlink:title="label: FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract to us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl">2026</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xlink:title="label: FiniteLivedIntangibleAssetsAmortizationExpenseYearFive to us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl">Thereafter</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" xlink:title="label: FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive to us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl1" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl1">Finite-Lived Intangible Asset, Expected Amortization, after Year Five</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl1" xlink:title="label: FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive to us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl1" />
    <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="FiniteLivedIntangibleAssetsGross" xlink:title="FiniteLivedIntangibleAssetsGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsGross_lbl">Gross amount</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xlink:title="label: FiniteLivedIntangibleAssetsGross to us-gaap_FiniteLivedIntangibleAssetsGross_lbl" />
    <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="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl">2022</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xlink:title="label: FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths to us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" />
    <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="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:title="label: FiniteLivedIntangibleAssetsByMajorClassAxis to us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="ForeignCurrencyTransactionGainLossBeforeTax" xlink:title="ForeignCurrencyTransactionGainLossBeforeTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US" id="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl">Foreign currency transaction (gains) losses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xlink:title="label: ForeignCurrencyTransactionGainLossBeforeTax to us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl1" xml:lang="en-US" id="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl1">Foreign Currency Transaction Gain (Loss), before Tax</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl1" xlink:title="label: ForeignCurrencyTransactionGainLossBeforeTax to us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:title="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xml:lang="en-US" id="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl">Foreign currency translation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xlink:title="label: ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock to us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl1">Foreign Currency Transactions and Translations Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl1" xlink:title="label: ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock to us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnNonRecourseDebt" xlink:label="GainLossOnNonRecourseDebt" xlink:title="GainLossOnNonRecourseDebt" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GainLossOnNonRecourseDebt_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_GainLossOnNonRecourseDebt_lbl" xml:lang="en-US" id="us-gaap_GainLossOnNonRecourseDebt_lbl">Gain on the forgiveness of long-term debt</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GainLossOnNonRecourseDebt" xlink:to="us-gaap_GainLossOnNonRecourseDebt_lbl" xlink:title="label: GainLossOnNonRecourseDebt to us-gaap_GainLossOnNonRecourseDebt_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GainLossOnNonRecourseDebt_lbl1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_GainLossOnNonRecourseDebt_lbl1" xml:lang="en-US" id="us-gaap_GainLossOnNonRecourseDebt_lbl1">Gain on forgiveness of long-term debt</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GainLossOnNonRecourseDebt" xlink:to="us-gaap_GainLossOnNonRecourseDebt_lbl1" xlink:title="label: GainLossOnNonRecourseDebt to us-gaap_GainLossOnNonRecourseDebt_lbl1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GainLossOnNonRecourseDebt_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GainLossOnNonRecourseDebt_lbl2" xml:lang="en-US" id="us-gaap_GainLossOnNonRecourseDebt_lbl2">Gain (Loss) on Non-Recourse Debt</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GainLossOnNonRecourseDebt" xlink:to="us-gaap_GainLossOnNonRecourseDebt_lbl2" xlink:title="label: GainLossOnNonRecourseDebt to us-gaap_GainLossOnNonRecourseDebt_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnSaleOfProperty" xlink:label="GainLossOnSaleOfProperty" xlink:title="GainLossOnSaleOfProperty" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GainLossOnSaleOfProperty_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_GainLossOnSaleOfProperty_lbl" xml:lang="en-US" id="us-gaap_GainLossOnSaleOfProperty_lbl">Loss on sale of fixed assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GainLossOnSaleOfProperty" xlink:to="us-gaap_GainLossOnSaleOfProperty_lbl" xlink:title="label: GainLossOnSaleOfProperty to us-gaap_GainLossOnSaleOfProperty_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GainLossOnSaleOfProperty_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GainLossOnSaleOfProperty_lbl1" xml:lang="en-US" id="us-gaap_GainLossOnSaleOfProperty_lbl1">Gain (Loss) on Disposition of Oil and Gas and Timber Property</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GainLossOnSaleOfProperty" xlink:to="us-gaap_GainLossOnSaleOfProperty_lbl1" xlink:title="label: GainLossOnSaleOfProperty to us-gaap_GainLossOnSaleOfProperty_lbl1" />
    <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="GeneralAndAdministrativeExpense" xlink:title="GeneralAndAdministrativeExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GeneralAndAdministrativeExpense_lbl" xml:lang="en-US" id="us-gaap_GeneralAndAdministrativeExpense_lbl">General and administrative</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense_lbl" xlink:title="label: GeneralAndAdministrativeExpense to us-gaap_GeneralAndAdministrativeExpense_lbl" />
    <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="GeneralAndAdministrativeExpenseMember" xlink:title="GeneralAndAdministrativeExpenseMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GeneralAndAdministrativeExpenseMember_lbl" xml:lang="en-US" id="us-gaap_GeneralAndAdministrativeExpenseMember_lbl">General and Administrative Expense [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GeneralAndAdministrativeExpenseMember" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember_lbl" xlink:title="label: GeneralAndAdministrativeExpenseMember to us-gaap_GeneralAndAdministrativeExpenseMember_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="GeographicConcentrationRiskMember" xlink:title="GeographicConcentrationRiskMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GeographicConcentrationRiskMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GeographicConcentrationRiskMember_lbl" xml:lang="en-US" id="us-gaap_GeographicConcentrationRiskMember_lbl">Geographic Concentration Risk [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GeographicConcentrationRiskMember" xlink:to="us-gaap_GeographicConcentrationRiskMember_lbl" xlink:title="label: GeographicConcentrationRiskMember to us-gaap_GeographicConcentrationRiskMember_lbl" />
    <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="Goodwill" xlink:title="Goodwill" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_Goodwill_lbl" xml:lang="en-US" id="us-gaap_Goodwill_lbl">Goodwill</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Goodwill" xlink:to="us-gaap_Goodwill_lbl" xlink:title="label: Goodwill to us-gaap_Goodwill_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:label="GoodwillAndIntangibleAssetImpairment" xlink:title="GoodwillAndIntangibleAssetImpairment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetImpairment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_GoodwillAndIntangibleAssetImpairment_lbl" xml:lang="en-US" id="us-gaap_GoodwillAndIntangibleAssetImpairment_lbl">Impairment of goodwill and intangible assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GoodwillAndIntangibleAssetImpairment" xlink:to="us-gaap_GoodwillAndIntangibleAssetImpairment_lbl" xlink:title="label: GoodwillAndIntangibleAssetImpairment to us-gaap_GoodwillAndIntangibleAssetImpairment_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetImpairment_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GoodwillAndIntangibleAssetImpairment_lbl1" xml:lang="en-US" id="us-gaap_GoodwillAndIntangibleAssetImpairment_lbl1">Goodwill and Intangible Asset Impairment</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GoodwillAndIntangibleAssetImpairment" xlink:to="us-gaap_GoodwillAndIntangibleAssetImpairment_lbl1" xlink:title="label: GoodwillAndIntangibleAssetImpairment to us-gaap_GoodwillAndIntangibleAssetImpairment_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:title="GoodwillAndIntangibleAssetsPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xml:lang="en-US" id="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl">Goodwill and Intangible assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xlink:title="label: GoodwillAndIntangibleAssetsPolicyTextBlock to us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" />
    <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="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:title="GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xml:lang="en-US" id="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl">Intangible assets, net [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xlink:title="label: GoodwillAndIntangibleAssetsDisclosureAbstract to us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" />
    <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="GrossProfit" xlink:title="GrossProfit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GrossProfit_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_GrossProfit_lbl" xml:lang="en-US" id="us-gaap_GrossProfit_lbl">Gross profit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" xlink:title="label: GrossProfit to us-gaap_GrossProfit_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GrossProfit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GrossProfit_lbl1" xml:lang="en-US" id="us-gaap_GrossProfit_lbl1">Gross profit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GrossProfit" xlink:to="us-gaap_GrossProfit_lbl1" xlink:title="label: GrossProfit to us-gaap_GrossProfit_lbl1" />
    <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="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US" id="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl">Income before income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:title="label: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1" xml:lang="en-US" id="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1" xlink:title="label: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1" />
    <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="IncomeStatementLocationDomain" xlink:title="IncomeStatementLocationDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeStatementLocationDomain_lbl" xml:lang="en-US" id="us-gaap_IncomeStatementLocationDomain_lbl">Income Statement Location [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeStatementLocationDomain" xlink:to="us-gaap_IncomeStatementLocationDomain_lbl" xlink:title="label: IncomeStatementLocationDomain to us-gaap_IncomeStatementLocationDomain_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US" id="us-gaap_IncomeTaxDisclosureAbstract_lbl">Income taxes [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" xlink:title="label: IncomeTaxDisclosureAbstract to us-gaap_IncomeTaxDisclosureAbstract_lbl" />
    <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="IncomeStatementLocationAxis" xlink:title="IncomeStatementLocationAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeStatementLocationAxis_lbl" xml:lang="en-US" id="us-gaap_IncomeStatementLocationAxis_lbl">Income Statement Location [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis_lbl" xlink:title="label: IncomeStatementLocationAxis to us-gaap_IncomeStatementLocationAxis_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="IncomeTaxAuthorityAxis" xlink:title="IncomeTaxAuthorityAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxAuthorityAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxAuthorityAxis_lbl" xml:lang="en-US" id="us-gaap_IncomeTaxAuthorityAxis_lbl">Income Tax Authority [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityAxis_lbl" xlink:title="label: IncomeTaxAuthorityAxis to us-gaap_IncomeTaxAuthorityAxis_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl" xml:lang="en-US" id="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl">Foreign loss before taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl" xlink:title="label: IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign to us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl" />
    <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="IncomeStatementAbstract" xlink:title="IncomeStatementAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US" id="us-gaap_IncomeStatementAbstract_lbl">CONSOLIDATED STATEMENTS OF OPERATIONS [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl" xlink:title="label: IncomeStatementAbstract to us-gaap_IncomeStatementAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:label="IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:title="IncomeTaxExaminationPenaltiesAndInterestAccrued" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued_lbl" xml:lang="en-US" id="us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued_lbl">Accrued interest and penalties related to uncertain tax positions</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:to="us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued_lbl" xlink:title="label: IncomeTaxExaminationPenaltiesAndInterestAccrued to us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="IncomeTaxAuthorityDomain" xlink:title="IncomeTaxAuthorityDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxAuthorityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxAuthorityDomain_lbl" xml:lang="en-US" id="us-gaap_IncomeTaxAuthorityDomain_lbl">Income Tax Authority [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxAuthorityDomain" xlink:to="us-gaap_IncomeTaxAuthorityDomain_lbl" xlink:title="label: IncomeTaxAuthorityDomain to us-gaap_IncomeTaxAuthorityDomain_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="IncomeTaxDisclosureTextBlock" xlink:title="IncomeTaxDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US" id="us-gaap_IncomeTaxDisclosureTextBlock_lbl">Income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xlink:title="label: IncomeTaxDisclosureTextBlock to us-gaap_IncomeTaxDisclosureTextBlock_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:label="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:title="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract_lbl" xml:lang="en-US" id="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract_lbl">Income taxes [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract_lbl" xlink:title="label: IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract to us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract_lbl1" xml:lang="en-US" id="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract_lbl1">Income Tax Expense (Benefit), Continuing Operations, by Jurisdiction [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract_lbl1" xlink:title="label: IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract to us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract_lbl1" />
    <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="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US" id="us-gaap_IncomeTaxExpenseBenefit_lbl">Income tax benefit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:title="label: IncomeTaxExpenseBenefit to us-gaap_IncomeTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_IncomeTaxExpenseBenefit_lbl1" xml:lang="en-US" id="us-gaap_IncomeTaxExpenseBenefit_lbl1">Income tax benefit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl1" xlink:title="label: IncomeTaxExpenseBenefit to us-gaap_IncomeTaxExpenseBenefit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="IncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" id="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl">Components of income tax benefit [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xlink:title="label: IncomeTaxExpenseBenefitContinuingOperationsAbstract to us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="IncomeTaxPolicyTextBlock" xlink:title="IncomeTaxPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US" id="us-gaap_IncomeTaxPolicyTextBlock_lbl">Income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl" xlink:title="label: IncomeTaxPolicyTextBlock to us-gaap_IncomeTaxPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_IncomeTaxPolicyTextBlock_lbl1">Income Tax, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl1" xlink:title="label: IncomeTaxPolicyTextBlock to us-gaap_IncomeTaxPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxesPaid" xlink:label="IncomeTaxesPaid" xlink:title="IncomeTaxesPaid" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxesPaid_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxesPaid_lbl" xml:lang="en-US" id="us-gaap_IncomeTaxesPaid_lbl">Income taxes paid</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxesPaid" xlink:to="us-gaap_IncomeTaxesPaid_lbl" xlink:title="label: IncomeTaxesPaid to us-gaap_IncomeTaxesPaid_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="IncreaseDecreaseInOperatingLeaseLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl">Increase (decrease) in operating lease liability</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingLeaseLiability" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" xlink:title="label: IncreaseDecreaseInOperatingLeaseLiability to us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1">Increase (Decrease) in Operating Lease Liability</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingLeaseLiability" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1" xlink:title="label: IncreaseDecreaseInOperatingLeaseLiability to us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:label="IncreaseDecreaseInPrepaidTaxes" xlink:title="IncreaseDecreaseInPrepaidTaxes" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl">Prepaid income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInPrepaidTaxes" xlink:to="us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl" xlink:title="label: IncreaseDecreaseInPrepaidTaxes to us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl1">Increase (Decrease) in Prepaid Taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInPrepaidTaxes" xlink:to="us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl1" xlink:title="label: IncreaseDecreaseInPrepaidTaxes to us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl1" />
    <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="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:title="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl">Accrued liabilities and other liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl" xlink:title="label: IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities to us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl1">Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl1" xlink:title="label: IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities to us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl1" />
    <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="IncreaseDecreaseInAccountsPayable" xlink:title="IncreaseDecreaseInAccountsPayable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccountsPayable_lbl">Accounts payable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xlink:title="label: IncreaseDecreaseInAccountsPayable to us-gaap_IncreaseDecreaseInAccountsPayable_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1">Increase (Decrease) in Accounts Payable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" xlink:title="label: IncreaseDecreaseInAccountsPayable to us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="IncreaseDecreaseInInventories" xlink:title="IncreaseDecreaseInInventories" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInInventories_lbl">Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:title="label: IncreaseDecreaseInInventories to us-gaap_IncreaseDecreaseInInventories_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInInventories_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInInventories_lbl1">Increase (Decrease) in Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl1" xlink:title="label: IncreaseDecreaseInInventories to us-gaap_IncreaseDecreaseInInventories_lbl1" />
    <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="IncreaseDecreaseInOperatingCapitalAbstract" xlink:title="IncreaseDecreaseInOperatingCapitalAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl">Changes in operating assets and liabilities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xlink:title="label: IncreaseDecreaseInOperatingCapitalAbstract to us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="IncreaseDecreaseInOtherOperatingAssets" xlink:title="IncreaseDecreaseInOtherOperatingAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl">Other current and long-term assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xlink:title="label: IncreaseDecreaseInOtherOperatingAssets to us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl1">Increase (Decrease) in Other Operating Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl1" xlink:title="label: IncreaseDecreaseInOtherOperatingAssets to us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInReceivables" xlink:label="IncreaseDecreaseInReceivables" xlink:title="IncreaseDecreaseInReceivables" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInReceivables_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInReceivables_lbl" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInReceivables_lbl">Accounts receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInReceivables" xlink:to="us-gaap_IncreaseDecreaseInReceivables_lbl" xlink:title="label: IncreaseDecreaseInReceivables to us-gaap_IncreaseDecreaseInReceivables_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInReceivables_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInReceivables_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInReceivables_lbl1">Increase (Decrease) in Receivables</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInReceivables" xlink:to="us-gaap_IncreaseDecreaseInReceivables_lbl1" xlink:title="label: IncreaseDecreaseInReceivables to us-gaap_IncreaseDecreaseInReceivables_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="IncreaseDecreaseInStockholdersEquityRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl" xlink:title="label: IncreaseDecreaseInStockholdersEquityRollForward to us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl" />
    <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="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xml:lang="en-US" id="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl">Add: Dilutive effect of outstanding equity awards as determined by the treasury stock method (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xlink:title="label: IncrementalCommonSharesAttributableToShareBasedPaymentArrangements to us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl1" xml:lang="en-US" id="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl1">Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl1" xlink:title="label: IncrementalCommonSharesAttributableToShareBasedPaymentArrangements to us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="IntangibleAssetsNetExcludingGoodwill" xlink:title="IntangibleAssetsNetExcludingGoodwill" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US" id="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl">Intangible assets, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:title="label: IntangibleAssetsNetExcludingGoodwill to us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" />
    <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="IntangibleAssetsDisclosureTextBlock" xlink:title="IntangibleAssetsDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US" id="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl">Intangible assets, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xlink:title="label: IntangibleAssetsDisclosureTextBlock to us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl1" xml:lang="en-US" id="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl1">Intangible Assets Disclosure [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl1" xlink:title="label: IntangibleAssetsDisclosureTextBlock to us-gaap_IntangibleAssetsDisclosureTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestExpense" xlink:label="InterestExpense" xlink:title="InterestExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InterestExpense_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_InterestExpense_lbl" xml:lang="en-US" id="us-gaap_InterestExpense_lbl">Interest expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InterestExpense" xlink:to="us-gaap_InterestExpense_lbl" xlink:title="label: InterestExpense to us-gaap_InterestExpense_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InterestExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InterestExpense_lbl1" xml:lang="en-US" id="us-gaap_InterestExpense_lbl1">Interest Expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InterestExpense" xlink:to="us-gaap_InterestExpense_lbl1" xlink:title="label: InterestExpense to us-gaap_InterestExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestIncomeDomesticDeposits" xlink:label="InterestIncomeDomesticDeposits" xlink:title="InterestIncomeDomesticDeposits" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InterestIncomeDomesticDeposits_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InterestIncomeDomesticDeposits_lbl" xml:lang="en-US" id="us-gaap_InterestIncomeDomesticDeposits_lbl">Interest income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InterestIncomeDomesticDeposits" xlink:to="us-gaap_InterestIncomeDomesticDeposits_lbl" xlink:title="label: InterestIncomeDomesticDeposits to us-gaap_InterestIncomeDomesticDeposits_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestPaidNet" xlink:label="InterestPaidNet" xlink:title="InterestPaidNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InterestPaidNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InterestPaidNet_lbl" xml:lang="en-US" id="us-gaap_InterestPaidNet_lbl">Interest paid</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl" xlink:title="label: InterestPaidNet to us-gaap_InterestPaidNet_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" xlink:title="InventoryDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryDisclosureAbstract_lbl" xml:lang="en-US" id="us-gaap_InventoryDisclosureAbstract_lbl">Inventories [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract_lbl" xlink:title="label: InventoryDisclosureAbstract to us-gaap_InventoryDisclosureAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="InventoryDisclosureTextBlock" xlink:title="InventoryDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_InventoryDisclosureTextBlock_lbl" xml:lang="en-US" id="us-gaap_InventoryDisclosureTextBlock_lbl">Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl" xlink:title="label: InventoryDisclosureTextBlock to us-gaap_InventoryDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryDisclosureTextBlock_lbl1" xml:lang="en-US" id="us-gaap_InventoryDisclosureTextBlock_lbl1">Inventory Disclosure [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl1" xlink:title="label: InventoryDisclosureTextBlock to us-gaap_InventoryDisclosureTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="InventoryWorkInProcessNetOfReserves" xlink:title="InventoryWorkInProcessNetOfReserves" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryWorkInProcessNetOfReserves_lbl" xml:lang="en-US" id="us-gaap_InventoryWorkInProcessNetOfReserves_lbl">Work-in-process</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryWorkInProcessNetOfReserves" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves_lbl" xlink:title="label: InventoryWorkInProcessNetOfReserves to us-gaap_InventoryWorkInProcessNetOfReserves_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="InventoryFinishedGoodsNetOfReserves" xlink:title="InventoryFinishedGoodsNetOfReserves" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl" xml:lang="en-US" id="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl">Finished goods</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryFinishedGoodsNetOfReserves" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl" xlink:title="label: InventoryFinishedGoodsNetOfReserves to us-gaap_InventoryFinishedGoodsNetOfReserves_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="InventoryPolicyTextBlock" xlink:title="InventoryPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US" id="us-gaap_InventoryPolicyTextBlock_lbl">Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl" xlink:title="label: InventoryPolicyTextBlock to us-gaap_InventoryPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_InventoryPolicyTextBlock_lbl1">Inventory, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl1" xlink:title="label: InventoryPolicyTextBlock to us-gaap_InventoryPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:label="InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:title="InventoryRawMaterialsAndSuppliesNetOfReserves" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves_lbl" xml:lang="en-US" id="us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves_lbl">Raw materials and purchased component parts</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:to="us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves_lbl" xlink:title="label: InventoryRawMaterialsAndSuppliesNetOfReserves to us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_InventoryNet_lbl" xml:lang="en-US" id="us-gaap_InventoryNet_lbl">Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryNet_lbl" xlink:title="label: InventoryNet to us-gaap_InventoryNet_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryNet_lbl1" xml:lang="en-US" id="us-gaap_InventoryNet_lbl1">Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryNet_lbl1" xlink:title="label: InventoryNet to us-gaap_InventoryNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="LesseeLeasesPolicyTextBlock" xlink:title="LesseeLeasesPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xml:lang="en-US" id="us-gaap_LesseeLeasesPolicyTextBlock_lbl">Leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeLeasesPolicyTextBlock" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xlink:title="label: LesseeLeasesPolicyTextBlock to us-gaap_LesseeLeasesPolicyTextBlock_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="LesseeOperatingLeasesTextBlock" xlink:title="LesseeOperatingLeasesTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US" id="us-gaap_LesseeOperatingLeasesTextBlock_lbl">Leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xlink:title="label: LesseeOperatingLeasesTextBlock to us-gaap_LesseeOperatingLeasesTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeasesTextBlock_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeasesTextBlock_lbl1">Lessee, Operating Leases [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl1" xlink:title="label: LesseeOperatingLeasesTextBlock to us-gaap_LesseeOperatingLeasesTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:label="LesseeOperatingLeaseRemainingLeaseTerm" xlink:title="LesseeOperatingLeaseRemainingLeaseTerm" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_lbl" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_lbl">Remaining lease terms</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseRemainingLeaseTerm" xlink:to="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_lbl" xlink:title="label: LesseeOperatingLeaseRemainingLeaseTerm to us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_lbl1">Lessee, Operating Lease, Remaining Lease Term</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseRemainingLeaseTerm" xlink:to="us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_lbl1" xlink:title="label: LesseeOperatingLeaseRemainingLeaseTerm to us-gaap_LesseeOperatingLeaseRemainingLeaseTerm_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl">2022</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl">Thereafter</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl1">Lessee, Operating Lease, Liability, to be Paid, after Year Five</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl">Total undiscounted lease payments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDue to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1">Lessee, Operating Lease, Liability, to be Paid</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDue to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl">Less imputed interest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xlink:title="label: LesseeOperatingLeaseLiabilityUndiscountedExcessAmount to us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl">2026</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearFive to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl1">Lessee, Operating Lease, Liability, to be Paid, Year Five</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearFive to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl">2025</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearFour to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl1">Lessee, Operating Lease, Liability, to be Paid, Year Four</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearFour to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:label="LesseeOperatingLeaseRenewalTerm" xlink:title="LesseeOperatingLeaseRenewalTerm" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseRenewalTerm_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseRenewalTerm_lbl" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseRenewalTerm_lbl">Extension period for leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseRenewalTerm" xlink:to="us-gaap_LesseeOperatingLeaseRenewalTerm_lbl" xlink:title="label: LesseeOperatingLeaseRenewalTerm to us-gaap_LesseeOperatingLeaseRenewalTerm_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseRenewalTerm_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseRenewalTerm_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseRenewalTerm_lbl1">Lessee, Operating Lease, Renewal Term</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseRenewalTerm" xlink:to="us-gaap_LesseeOperatingLeaseRenewalTerm_lbl1" xlink:title="label: LesseeOperatingLeaseRenewalTerm to us-gaap_LesseeOperatingLeaseRenewalTerm_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl">2024</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearThree to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl1">Lessee, Operating Lease, Liability, to be Paid, Year Three</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearThree to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:title="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl">Maturity of Operating Lease Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xlink:title="label: LesseeOperatingLeaseLiabilityMaturityTableTextBlock to us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityMaturityTableTextBlock to us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl">2023</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearTwo to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl1">Lessee, Operating Lease, Liability, to be Paid, Year Two</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearTwo to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="LesseeLeaseDescriptionTable" xlink:title="LesseeLeaseDescriptionTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeLeaseDescriptionTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeLeaseDescriptionTable_lbl" xml:lang="en-US" id="us-gaap_LesseeLeaseDescriptionTable_lbl">Lessee, Lease, Description [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeLeaseDescriptionTable" xlink:to="us-gaap_LesseeLeaseDescriptionTable_lbl" xlink:title="label: LesseeLeaseDescriptionTable to us-gaap_LesseeLeaseDescriptionTable_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="LesseeLeaseDescriptionLineItems" xlink:title="LesseeLeaseDescriptionLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeLeaseDescriptionLineItems_lbl" xml:lang="en-US" id="us-gaap_LesseeLeaseDescriptionLineItems_lbl">Lessee, Lease, Description [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_lbl" xlink:title="label: LesseeLeaseDescriptionLineItems to us-gaap_LesseeLeaseDescriptionLineItems_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseDescriptionAbstract" xlink:label="LesseeOperatingLeaseDescriptionAbstract" xlink:title="LesseeOperatingLeaseDescriptionAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl">Operating Lease Weighted Average Remaining Lease Term and Discount Rate [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseDescriptionAbstract" xlink:to="us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl" xlink:title="label: LesseeOperatingLeaseDescriptionAbstract to us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl1">Lessee, Operating Lease, Description [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseDescriptionAbstract" xlink:to="us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl1" xlink:title="label: LesseeOperatingLeaseDescriptionAbstract to us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="LeaseholdImprovementsMember" xlink:title="LeaseholdImprovementsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LeaseholdImprovementsMember_lbl" xml:lang="en-US" id="us-gaap_LeaseholdImprovementsMember_lbl">Leasehold Improvements [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember_lbl" xlink:title="label: LeaseholdImprovementsMember to us-gaap_LeaseholdImprovementsMember_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LeasesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LeasesAbstract_lbl" xml:lang="en-US" id="us-gaap_LeasesAbstract_lbl">Leases [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LeasesAbstract" xlink:to="us-gaap_LeasesAbstract_lbl" xlink:title="label: LeasesAbstract to us-gaap_LeasesAbstract_lbl" />
    <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="Liabilities" xlink:title="Liabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Liabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_Liabilities_lbl" xml:lang="en-US" id="us-gaap_Liabilities_lbl">Total liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Liabilities" xlink:to="us-gaap_Liabilities_lbl" xlink:title="label: Liabilities to us-gaap_Liabilities_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Liabilities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_Liabilities_lbl1" xml:lang="en-US" id="us-gaap_Liabilities_lbl1">Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Liabilities" xlink:to="us-gaap_Liabilities_lbl1" xlink:title="label: Liabilities to us-gaap_Liabilities_lbl1" />
    <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="LiabilitiesAndStockholdersEquityAbstract" xlink:title="LiabilitiesAndStockholdersEquityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US" id="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl">Liabilities and Shareholders' Equity:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xlink:title="label: LiabilitiesAndStockholdersEquityAbstract to us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" />
    <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="LiabilitiesAndStockholdersEquity" xlink:title="LiabilitiesAndStockholdersEquity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US" id="us-gaap_LiabilitiesAndStockholdersEquity_lbl">Total liabilities and shareholders' equity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xlink:title="label: LiabilitiesAndStockholdersEquity to us-gaap_LiabilitiesAndStockholdersEquity_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesAndStockholdersEquity_lbl1" xml:lang="en-US" id="us-gaap_LiabilitiesAndStockholdersEquity_lbl1">Liabilities and Equity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl1" xlink:title="label: LiabilitiesAndStockholdersEquity to us-gaap_LiabilitiesAndStockholdersEquity_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="LiabilitiesNoncurrent" xlink:title="LiabilitiesNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_LiabilitiesNoncurrent_lbl" xml:lang="en-US" id="us-gaap_LiabilitiesNoncurrent_lbl">Total noncurrent liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesNoncurrent" xlink:to="us-gaap_LiabilitiesNoncurrent_lbl" xlink:title="label: LiabilitiesNoncurrent to us-gaap_LiabilitiesNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesNoncurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesNoncurrent_lbl1" xml:lang="en-US" id="us-gaap_LiabilitiesNoncurrent_lbl1">Liabilities, Noncurrent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesNoncurrent" xlink:to="us-gaap_LiabilitiesNoncurrent_lbl1" xlink:title="label: LiabilitiesNoncurrent to us-gaap_LiabilitiesNoncurrent_lbl1" />
    <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="LiabilitiesCurrent" xlink:title="LiabilitiesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US" id="us-gaap_LiabilitiesCurrent_lbl">Total current liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" xlink:title="label: LiabilitiesCurrent to us-gaap_LiabilitiesCurrent_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesCurrent_lbl1" xml:lang="en-US" id="us-gaap_LiabilitiesCurrent_lbl1">Liabilities, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl1" xlink:title="label: LiabilitiesCurrent to us-gaap_LiabilitiesCurrent_lbl1" />
    <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="LiabilitiesCurrentAbstract" xlink:title="LiabilitiesCurrentAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US" id="us-gaap_LiabilitiesCurrentAbstract_lbl">Current liabilities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" xlink:title="label: LiabilitiesCurrentAbstract to us-gaap_LiabilitiesCurrentAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityAbstract" xlink:label="LineOfCreditFacilityAbstract" xlink:title="LineOfCreditFacilityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_LineOfCreditFacilityAbstract_lbl" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityAbstract_lbl">Borrowings [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityAbstract" xlink:to="us-gaap_LineOfCreditFacilityAbstract_lbl" xlink:title="label: LineOfCreditFacilityAbstract to us-gaap_LineOfCreditFacilityAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LineOfCreditFacilityAbstract_lbl1" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityAbstract_lbl1">Line of Credit Facility [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityAbstract" xlink:to="us-gaap_LineOfCreditFacilityAbstract_lbl1" xlink:title="label: LineOfCreditFacilityAbstract to us-gaap_LineOfCreditFacilityAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityExpirationDate1" xlink:label="LineOfCreditFacilityExpirationDate1" xlink:title="LineOfCreditFacilityExpirationDate1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LineOfCreditFacilityExpirationDate1_lbl" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityExpirationDate1_lbl">Maturity date</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityExpirationDate1" xlink:to="us-gaap_LineOfCreditFacilityExpirationDate1_lbl" xlink:title="label: LineOfCreditFacilityExpirationDate1 to us-gaap_LineOfCreditFacilityExpirationDate1_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:title="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl">Percentage fee on unused borrowings</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl" xlink:title="label: LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage to us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl1" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl1">Line of Credit Facility, Unused Capacity, Commitment Fee Percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl1" xlink:title="label: LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage to us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl">Maximum borrowing capacity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xlink:title="label: LineOfCreditFacilityMaximumBorrowingCapacity to us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl1" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl1">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl1" xlink:title="label: LineOfCreditFacilityMaximumBorrowingCapacity to us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:title="LineOfCreditFacilityRemainingBorrowingCapacity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl">Additional borrowing capacity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" xlink:title="label: LineOfCreditFacilityRemainingBorrowingCapacity to us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl1" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl1">Line of Credit Facility, Remaining Borrowing Capacity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl1" xlink:title="label: LineOfCreditFacilityRemainingBorrowingCapacity to us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LitigationSettlementExpense" xlink:label="LitigationSettlementExpense" xlink:title="LitigationSettlementExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LitigationSettlementExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_LitigationSettlementExpense_lbl" xml:lang="en-US" id="us-gaap_LitigationSettlementExpense_lbl">Legal fees and settlement expenses associated with lawsuit (Note 10)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LitigationSettlementExpense" xlink:to="us-gaap_LitigationSettlementExpense_lbl" xlink:title="label: LitigationSettlementExpense to us-gaap_LitigationSettlementExpense_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LitigationSettlementExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LitigationSettlementExpense_lbl1" xml:lang="en-US" id="us-gaap_LitigationSettlementExpense_lbl1">Litigation Settlement, Expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LitigationSettlementExpense" xlink:to="us-gaap_LitigationSettlementExpense_lbl1" xlink:title="label: LitigationSettlementExpense to us-gaap_LitigationSettlementExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:label="LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:title="LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl" xml:lang="en-US" id="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl">Note receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl" xlink:title="label: LoansNotesTradeAndOtherReceivablesDisclosureTextBlock to us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl1" xml:lang="en-US" id="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl1">Loans, Notes, Trade and Other Receivables Disclosure [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl1" xlink:title="label: LoansNotesTradeAndOtherReceivablesDisclosureTextBlock to us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="MachineryAndEquipmentMember" xlink:title="MachineryAndEquipmentMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_MachineryAndEquipmentMember_lbl" xml:lang="en-US" id="us-gaap_MachineryAndEquipmentMember_lbl">Tooling, Machinery and Equipment [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl" xlink:title="label: MachineryAndEquipmentMember to us-gaap_MachineryAndEquipmentMember_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_MachineryAndEquipmentMember_lbl1" xml:lang="en-US" id="us-gaap_MachineryAndEquipmentMember_lbl1">Machinery and Equipment [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl1" xlink:title="label: MachineryAndEquipmentMember to us-gaap_MachineryAndEquipmentMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MarketingAndAdvertisingExpenseAbstract" xlink:label="MarketingAndAdvertisingExpenseAbstract" xlink:title="MarketingAndAdvertisingExpenseAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_MarketingAndAdvertisingExpenseAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_MarketingAndAdvertisingExpenseAbstract_lbl" xml:lang="en-US" id="us-gaap_MarketingAndAdvertisingExpenseAbstract_lbl">Advertising [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MarketingAndAdvertisingExpenseAbstract" xlink:to="us-gaap_MarketingAndAdvertisingExpenseAbstract_lbl" xlink:title="label: MarketingAndAdvertisingExpenseAbstract to us-gaap_MarketingAndAdvertisingExpenseAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="MovementInValuationAllowancesAndReservesRollForward" xlink:title="MovementInValuationAllowancesAndReservesRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_MovementInValuationAllowancesAndReservesRollForward_lbl" xml:lang="en-US" id="us-gaap_MovementInValuationAllowancesAndReservesRollForward_lbl">Valuation allowance [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MovementInValuationAllowancesAndReservesRollForward" xlink:to="us-gaap_MovementInValuationAllowancesAndReservesRollForward_lbl" xlink:title="label: MovementInValuationAllowancesAndReservesRollForward to us-gaap_MovementInValuationAllowancesAndReservesRollForward_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MovementInExtendedProductWarrantyAccrualRollForward" xlink:label="MovementInExtendedProductWarrantyAccrualRollForward" xlink:title="MovementInExtendedProductWarrantyAccrualRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_MovementInExtendedProductWarrantyAccrualRollForward_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_MovementInExtendedProductWarrantyAccrualRollForward_lbl" xml:lang="en-US" id="us-gaap_MovementInExtendedProductWarrantyAccrualRollForward_lbl">Accrued product warranty liability [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MovementInExtendedProductWarrantyAccrualRollForward" xlink:to="us-gaap_MovementInExtendedProductWarrantyAccrualRollForward_lbl" xlink:title="label: MovementInExtendedProductWarrantyAccrualRollForward to us-gaap_MovementInExtendedProductWarrantyAccrualRollForward_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NatureOfOperations" xlink:label="NatureOfOperations" xlink:title="NatureOfOperations" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NatureOfOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NatureOfOperations_lbl" xml:lang="en-US" id="us-gaap_NatureOfOperations_lbl">Description of business</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NatureOfOperations" xlink:to="us-gaap_NatureOfOperations_lbl" xlink:title="label: NatureOfOperations to us-gaap_NatureOfOperations_lbl" />
    <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="NetCashProvidedByUsedInFinancingActivities" xlink:title="NetCashProvidedByUsedInFinancingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl">Net cash used in financing activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xlink:title="label: NetCashProvidedByUsedInFinancingActivities to us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" xlink:title="label: NetCashProvidedByUsedInFinancingActivities to us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" />
    <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="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl">Cash flows from financing activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xlink:title="label: NetCashProvidedByUsedInFinancingActivitiesAbstract to us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" />
    <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="NetCashProvidedByUsedInOperatingActivities" xlink:title="NetCashProvidedByUsedInOperatingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl">Net cash provided by operating activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xlink:title="label: NetCashProvidedByUsedInOperatingActivities to us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" xlink:title="label: NetCashProvidedByUsedInOperatingActivities to us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" />
    <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="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl">Cash flows from investing activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xlink:title="label: NetCashProvidedByUsedInInvestingActivitiesAbstract to us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" />
    <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="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl">Cash flows from operating activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:title="label: NetCashProvidedByUsedInOperatingActivitiesAbstract to us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" />
    <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="NetCashProvidedByUsedInInvestingActivities" xlink:title="NetCashProvidedByUsedInInvestingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl">Net cash provided by (used in) investing activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xlink:title="label: NetCashProvidedByUsedInInvestingActivities to us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" xlink:title="label: NetCashProvidedByUsedInInvestingActivities to us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" />
    <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="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US" id="us-gaap_NetIncomeLoss_lbl">Net loss</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl" xlink:title="label: NetIncomeLoss to us-gaap_NetIncomeLoss_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss_lbl1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetIncomeLoss_lbl1" xml:lang="en-US" id="us-gaap_NetIncomeLoss_lbl1">Net loss</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl1" xlink:title="label: NetIncomeLoss to us-gaap_NetIncomeLoss_lbl1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss_lbl2" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_NetIncomeLoss_lbl2" xml:lang="en-US" id="us-gaap_NetIncomeLoss_lbl2">Net (loss) income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl2" xlink:title="label: NetIncomeLoss to us-gaap_NetIncomeLoss_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="NoncompeteAgreementsMember" xlink:title="NoncompeteAgreementsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NoncompeteAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NoncompeteAgreementsMember_lbl" xml:lang="en-US" id="us-gaap_NoncompeteAgreementsMember_lbl">Covenant Not to Compete [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NoncompeteAgreementsMember" xlink:to="us-gaap_NoncompeteAgreementsMember_lbl" xlink:title="label: NoncompeteAgreementsMember to us-gaap_NoncompeteAgreementsMember_lbl" />
    <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="NonoperatingIncomeExpense" xlink:title="NonoperatingIncomeExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US" id="us-gaap_NonoperatingIncomeExpense_lbl">Interest and other income (expense)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl" xlink:title="label: NonoperatingIncomeExpense to us-gaap_NonoperatingIncomeExpense_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NonoperatingIncomeExpense_lbl1" xml:lang="en-US" id="us-gaap_NonoperatingIncomeExpense_lbl1">Nonoperating Income (Expense)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl1" xlink:title="label: NonoperatingIncomeExpense to us-gaap_NonoperatingIncomeExpense_lbl1" />
    <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="NonoperatingIncomeExpenseAbstract" xlink:title="NonoperatingIncomeExpenseAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xml:lang="en-US" id="us-gaap_NonoperatingIncomeExpenseAbstract_lbl">Interest and other income (expense):</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xlink:title="label: NonoperatingIncomeExpenseAbstract to us-gaap_NonoperatingIncomeExpenseAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NontradeReceivablesCurrent" xlink:label="NontradeReceivablesCurrent" xlink:title="NontradeReceivablesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NontradeReceivablesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_NontradeReceivablesCurrent_lbl" xml:lang="en-US" id="us-gaap_NontradeReceivablesCurrent_lbl">Employee retention credit receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NontradeReceivablesCurrent" xlink:to="us-gaap_NontradeReceivablesCurrent_lbl" xlink:title="label: NontradeReceivablesCurrent to us-gaap_NontradeReceivablesCurrent_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NontradeReceivablesCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NontradeReceivablesCurrent_lbl1" xml:lang="en-US" id="us-gaap_NontradeReceivablesCurrent_lbl1">Nontrade Receivables, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NontradeReceivablesCurrent" xlink:to="us-gaap_NontradeReceivablesCurrent_lbl1" xlink:title="label: NontradeReceivablesCurrent to us-gaap_NontradeReceivablesCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetCurrent" xlink:label="NotesAndLoansReceivableNetCurrent" xlink:title="NotesAndLoansReceivableNetCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NotesAndLoansReceivableNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_NotesAndLoansReceivableNetCurrent_lbl" xml:lang="en-US" id="us-gaap_NotesAndLoansReceivableNetCurrent_lbl">Note receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NotesAndLoansReceivableNetCurrent" xlink:to="us-gaap_NotesAndLoansReceivableNetCurrent_lbl" xlink:title="label: NotesAndLoansReceivableNetCurrent to us-gaap_NotesAndLoansReceivableNetCurrent_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NotesAndLoansReceivableNetCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NotesAndLoansReceivableNetCurrent_lbl1" xml:lang="en-US" id="us-gaap_NotesAndLoansReceivableNetCurrent_lbl1">Financing Receivable, after Allowance for Credit Loss, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NotesAndLoansReceivableNetCurrent" xlink:to="us-gaap_NotesAndLoansReceivableNetCurrent_lbl1" xlink:title="label: NotesAndLoansReceivableNetCurrent to us-gaap_NotesAndLoansReceivableNetCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetNoncurrent" xlink:label="NotesAndLoansReceivableNetNoncurrent" xlink:title="NotesAndLoansReceivableNetNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NotesAndLoansReceivableNetNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NotesAndLoansReceivableNetNoncurrent_lbl" xml:lang="en-US" id="us-gaap_NotesAndLoansReceivableNetNoncurrent_lbl">Note receivable, net of current portion</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NotesAndLoansReceivableNetNoncurrent" xlink:to="us-gaap_NotesAndLoansReceivableNetNoncurrent_lbl" xlink:title="label: NotesAndLoansReceivableNetNoncurrent to us-gaap_NotesAndLoansReceivableNetNoncurrent_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="NumberOfOperatingSegments" xlink:title="NumberOfOperatingSegments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NumberOfOperatingSegments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_NumberOfOperatingSegments_lbl" xml:lang="en-US" id="us-gaap_NumberOfOperatingSegments_lbl">Number of business segments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfOperatingSegments" xlink:to="us-gaap_NumberOfOperatingSegments_lbl" xlink:title="label: NumberOfOperatingSegments to us-gaap_NumberOfOperatingSegments_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NumberOfOperatingSegments_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NumberOfOperatingSegments_lbl1" xml:lang="en-US" id="us-gaap_NumberOfOperatingSegments_lbl1">Number of operating segments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfOperatingSegments" xlink:to="us-gaap_NumberOfOperatingSegments_lbl1" xlink:title="label: NumberOfOperatingSegments to us-gaap_NumberOfOperatingSegments_lbl1" />
    <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="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilityCurrent_lbl">Lease liability</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:title="label: OperatingLeaseLiabilityCurrent to us-gaap_OperatingLeaseLiabilityCurrent_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:title="OperatingLeaseWeightedAverageDiscountRatePercent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US" id="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl">Weighted average discount rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xlink:title="label: OperatingLeaseWeightedAverageDiscountRatePercent to us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1" xlink:title="label: OperatingLeaseWeightedAverageDiscountRatePercent to us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1" />
    <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="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl">Lease liability, net of current portion</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:title="label: OperatingLeaseLiabilityNoncurrent to us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:title="OperatingLeaseLiabilitiesPaymentsDueAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl">Maturity of Operating Lease Liabilities [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xlink:title="label: OperatingLeaseLiabilitiesPaymentsDueAbstract to us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl1">Lessee, Operating Lease, Liability, Payment, Due [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl1" xlink:title="label: OperatingLeaseLiabilitiesPaymentsDueAbstract to us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeasePayments" xlink:label="OperatingLeasePayments" xlink:title="OperatingLeasePayments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeasePayments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US" id="us-gaap_OperatingLeasePayments_lbl">Operating cash outflows from leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl" xlink:title="label: OperatingLeasePayments to us-gaap_OperatingLeasePayments_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeasePayments_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeasePayments_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeasePayments_lbl1">Operating Lease, Payments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl1" xlink:title="label: OperatingLeasePayments to us-gaap_OperatingLeasePayments_lbl1" />
    <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="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US" id="us-gaap_OperatingLeaseRightOfUseAsset_lbl">Right-of-use-asset</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xlink:title="label: OperatingLeaseRightOfUseAsset to us-gaap_OperatingLeaseRightOfUseAsset_lbl" />
    <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="OperatingLeaseExpense" xlink:title="OperatingLeaseExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseExpense_lbl" xml:lang="en-US" id="us-gaap_OperatingLeaseExpense_lbl">Operating lease expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense_lbl" xlink:title="label: OperatingLeaseExpense to us-gaap_OperatingLeaseExpense_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseExpense_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseExpense_lbl1">Operating Lease, Expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense_lbl1" xlink:title="label: OperatingLeaseExpense to us-gaap_OperatingLeaseExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:title="OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US" id="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl">Weighted average remaining lease term</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xlink:title="label: OperatingLeaseWeightedAverageRemainingLeaseTerm1 to us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1" xlink:title="label: OperatingLeaseWeightedAverageRemainingLeaseTerm1 to us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="OperatingLeaseLiability" xlink:title="OperatingLeaseLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US" id="us-gaap_OperatingLeaseLiability_lbl">Total lease liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl" xlink:title="label: OperatingLeaseLiability to us-gaap_OperatingLeaseLiability_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiability_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseLiability_lbl1">Operating Lease, Liability</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl1" xlink:title="label: OperatingLeaseLiability to us-gaap_OperatingLeaseLiability_lbl1" />
    <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="OperatingExpensesAbstract" xlink:title="OperatingExpensesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingExpensesAbstract_lbl" xml:lang="en-US" id="us-gaap_OperatingExpensesAbstract_lbl">Operating expenses:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl" xlink:title="label: OperatingExpensesAbstract to us-gaap_OperatingExpensesAbstract_lbl" />
    <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="OperatingExpenses" xlink:title="OperatingExpenses" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_OperatingExpenses_lbl" xml:lang="en-US" id="us-gaap_OperatingExpenses_lbl">Operating expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl" xlink:title="label: OperatingExpenses to us-gaap_OperatingExpenses_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingExpenses_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingExpenses_lbl1" xml:lang="en-US" id="us-gaap_OperatingExpenses_lbl1">Operating Expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl1" xlink:title="label: OperatingExpenses to us-gaap_OperatingExpenses_lbl1" />
    <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="OperatingIncomeLoss" xlink:title="OperatingIncomeLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US" id="us-gaap_OperatingIncomeLoss_lbl">Operating income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" xlink:title="label: OperatingIncomeLoss to us-gaap_OperatingIncomeLoss_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLoss_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingIncomeLoss_lbl1" xml:lang="en-US" id="us-gaap_OperatingIncomeLoss_lbl1">Operating Income (Loss)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl1" xlink:title="label: OperatingIncomeLoss to us-gaap_OperatingIncomeLoss_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="OperatingLossCarryforwardsLineItems" xlink:title="OperatingLossCarryforwardsLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLossCarryforwardsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLossCarryforwardsLineItems_lbl" xml:lang="en-US" id="us-gaap_OperatingLossCarryforwardsLineItems_lbl">Operating Loss Carryforwards [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLossCarryforwardsLineItems" xlink:to="us-gaap_OperatingLossCarryforwardsLineItems_lbl" xlink:title="label: OperatingLossCarryforwardsLineItems to us-gaap_OperatingLossCarryforwardsLineItems_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="OperatingLossCarryforwardsTable" xlink:title="OperatingLossCarryforwardsTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLossCarryforwardsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLossCarryforwardsTable_lbl" xml:lang="en-US" id="us-gaap_OperatingLossCarryforwardsTable_lbl">Operating Loss Carryforwards [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLossCarryforwardsTable" xlink:to="us-gaap_OperatingLossCarryforwardsTable_lbl" xlink:title="label: OperatingLossCarryforwardsTable to us-gaap_OperatingLossCarryforwardsTable_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="OperatingLossCarryforwards" xlink:title="OperatingLossCarryforwards" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLossCarryforwards_lbl" xml:lang="en-US" id="us-gaap_OperatingLossCarryforwards_lbl">Net operating loss carryforward</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLossCarryforwards" xlink:to="us-gaap_OperatingLossCarryforwards_lbl" xlink:title="label: OperatingLossCarryforwards to us-gaap_OperatingLossCarryforwards_lbl" />
    <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="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US" id="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl">Foreign currency translation adjustment, net of tax</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xlink:title="label: OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax to us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl1" xml:lang="en-US" id="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl1">Foreign currency translation adjustment, net of tax</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl1" xlink:title="label: OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax to us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="OtherIntangibleAssetsMember" xlink:title="OtherIntangibleAssetsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherIntangibleAssetsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherIntangibleAssetsMember_lbl" xml:lang="en-US" id="us-gaap_OtherIntangibleAssetsMember_lbl">Other [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherIntangibleAssetsMember" xlink:to="us-gaap_OtherIntangibleAssetsMember_lbl" xlink:title="label: OtherIntangibleAssetsMember to us-gaap_OtherIntangibleAssetsMember_lbl" />
    <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="OtherAssetsCurrent" xlink:title="OtherAssetsCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherAssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherAssetsCurrent_lbl" xml:lang="en-US" id="us-gaap_OtherAssetsCurrent_lbl">Other current assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherAssetsCurrent" xlink:to="us-gaap_OtherAssetsCurrent_lbl" xlink:title="label: OtherAssetsCurrent to us-gaap_OtherAssetsCurrent_lbl" />
    <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="OtherAssetsNoncurrent" xlink:title="OtherAssetsNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US" id="us-gaap_OtherAssetsNoncurrent_lbl">Other assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl" xlink:title="label: OtherAssetsNoncurrent to us-gaap_OtherAssetsNoncurrent_lbl" />
    <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="OtherLiabilitiesNoncurrent" xlink:title="OtherLiabilitiesNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherLiabilitiesNoncurrent_lbl" xml:lang="en-US" id="us-gaap_OtherLiabilitiesNoncurrent_lbl">Other liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_lbl" xlink:title="label: OtherLiabilitiesNoncurrent to us-gaap_OtherLiabilitiesNoncurrent_lbl" />
    <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="OtherLiabilitiesCurrent" xlink:title="OtherLiabilitiesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherLiabilitiesCurrent_lbl" xml:lang="en-US" id="us-gaap_OtherLiabilitiesCurrent_lbl">Other</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherLiabilitiesCurrent" xlink:to="us-gaap_OtherLiabilitiesCurrent_lbl" xlink:title="label: OtherLiabilitiesCurrent to us-gaap_OtherLiabilitiesCurrent_lbl" />
    <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="OtherNonoperatingIncomeExpense" xlink:title="OtherNonoperatingIncomeExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherNonoperatingIncomeExpense_lbl" xml:lang="en-US" id="us-gaap_OtherNonoperatingIncomeExpense_lbl">Other, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl" xlink:title="label: OtherNonoperatingIncomeExpense to us-gaap_OtherNonoperatingIncomeExpense_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesMember" xlink:label="OtherLiabilitiesMember" xlink:title="OtherLiabilitiesMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherLiabilitiesMember_lbl" xml:lang="en-US" id="us-gaap_OtherLiabilitiesMember_lbl">Other Liabilities [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherLiabilitiesMember" xlink:to="us-gaap_OtherLiabilitiesMember_lbl" xlink:title="label: OtherLiabilitiesMember to us-gaap_OtherLiabilitiesMember_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrimeRateMember" xlink:label="PrimeRateMember" xlink:title="PrimeRateMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PrimeRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PrimeRateMember_lbl" xml:lang="en-US" id="us-gaap_PrimeRateMember_lbl">Prime Rate [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PrimeRateMember" xlink:to="us-gaap_PrimeRateMember_lbl" xlink:title="label: PrimeRateMember to us-gaap_PrimeRateMember_lbl" />
    <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="PatentsMember" xlink:title="PatentsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PatentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PatentsMember_lbl" xml:lang="en-US" id="us-gaap_PatentsMember_lbl">Patents [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PatentsMember" xlink:to="us-gaap_PatentsMember_lbl" xlink:title="label: PatentsMember to us-gaap_PatentsMember_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="PayablesAndAccrualsAbstract" xlink:title="PayablesAndAccrualsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PayablesAndAccrualsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PayablesAndAccrualsAbstract_lbl" xml:lang="en-US" id="us-gaap_PayablesAndAccrualsAbstract_lbl">Accrued liabilities [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PayablesAndAccrualsAbstract" xlink:to="us-gaap_PayablesAndAccrualsAbstract_lbl" xlink:title="label: PayablesAndAccrualsAbstract to us-gaap_PayablesAndAccrualsAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="PaymentsOfStockIssuanceCosts" xlink:title="PaymentsOfStockIssuanceCosts" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_PaymentsOfStockIssuanceCosts_lbl" xml:lang="en-US" id="us-gaap_PaymentsOfStockIssuanceCosts_lbl">Payment of common stock issuance costs</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsOfStockIssuanceCosts" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts_lbl" xlink:title="label: PaymentsOfStockIssuanceCosts to us-gaap_PaymentsOfStockIssuanceCosts_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PaymentsOfStockIssuanceCosts_lbl1" xml:lang="en-US" id="us-gaap_PaymentsOfStockIssuanceCosts_lbl1">Payments of Stock Issuance Costs</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsOfStockIssuanceCosts" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts_lbl1" xlink:title="label: PaymentsOfStockIssuanceCosts to us-gaap_PaymentsOfStockIssuanceCosts_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfLoanCosts" xlink:label="PaymentsOfLoanCosts" xlink:title="PaymentsOfLoanCosts" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsOfLoanCosts_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:title="us-gaap_PaymentsOfLoanCosts_lbl" xml:lang="en-US" id="us-gaap_PaymentsOfLoanCosts_lbl">Payment of bank financing costs</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsOfLoanCosts" xlink:to="us-gaap_PaymentsOfLoanCosts_lbl" xlink:title="label: PaymentsOfLoanCosts to us-gaap_PaymentsOfLoanCosts_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsOfLoanCosts_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PaymentsOfLoanCosts_lbl1" xml:lang="en-US" id="us-gaap_PaymentsOfLoanCosts_lbl1">Payments of Loan Costs</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsOfLoanCosts" xlink:to="us-gaap_PaymentsOfLoanCosts_lbl1" xlink:title="label: PaymentsOfLoanCosts to us-gaap_PaymentsOfLoanCosts_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="PaymentsOfDividendsCommonStock" xlink:title="PaymentsOfDividendsCommonStock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_PaymentsOfDividendsCommonStock_lbl" xml:lang="en-US" id="us-gaap_PaymentsOfDividendsCommonStock_lbl">Payment of dividends on common stock</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsOfDividendsCommonStock" xlink:to="us-gaap_PaymentsOfDividendsCommonStock_lbl" xlink:title="label: PaymentsOfDividendsCommonStock to us-gaap_PaymentsOfDividendsCommonStock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsOfDividendsCommonStock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PaymentsOfDividendsCommonStock_lbl1" xml:lang="en-US" id="us-gaap_PaymentsOfDividendsCommonStock_lbl1">Payments of Ordinary Dividends, Common Stock</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsOfDividendsCommonStock" xlink:to="us-gaap_PaymentsOfDividendsCommonStock_lbl1" xlink:title="label: PaymentsOfDividendsCommonStock to us-gaap_PaymentsOfDividendsCommonStock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRepurchaseOfEquity" xlink:label="PaymentsForRepurchaseOfEquity" xlink:title="PaymentsForRepurchaseOfEquity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsForRepurchaseOfEquity_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_PaymentsForRepurchaseOfEquity_lbl" xml:lang="en-US" id="us-gaap_PaymentsForRepurchaseOfEquity_lbl">Purchases of common stock for treasury</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsForRepurchaseOfEquity" xlink:to="us-gaap_PaymentsForRepurchaseOfEquity_lbl" xlink:title="label: PaymentsForRepurchaseOfEquity to us-gaap_PaymentsForRepurchaseOfEquity_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsForRepurchaseOfEquity_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PaymentsForRepurchaseOfEquity_lbl1" xml:lang="en-US" id="us-gaap_PaymentsForRepurchaseOfEquity_lbl1">Payments for Repurchase of Equity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsForRepurchaseOfEquity" xlink:to="us-gaap_PaymentsForRepurchaseOfEquity_lbl1" xlink:title="label: PaymentsForRepurchaseOfEquity to us-gaap_PaymentsForRepurchaseOfEquity_lbl1" />
    <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="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US" id="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl">Capital expenditures</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:title="label: PaymentsToAcquirePropertyPlantAndEquipment to us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" xml:lang="en-US" id="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" xlink:title="label: PaymentsToAcquirePropertyPlantAndEquipment to us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForSoftware" xlink:label="PaymentsForSoftware" xlink:title="PaymentsForSoftware" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsForSoftware_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_PaymentsForSoftware_lbl" xml:lang="en-US" id="us-gaap_PaymentsForSoftware_lbl">Additions to capitalized software</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsForSoftware" xlink:to="us-gaap_PaymentsForSoftware_lbl" xlink:title="label: PaymentsForSoftware to us-gaap_PaymentsForSoftware_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsForSoftware_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PaymentsForSoftware_lbl1" xml:lang="en-US" id="us-gaap_PaymentsForSoftware_lbl1">Payments for Software</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsForSoftware" xlink:to="us-gaap_PaymentsForSoftware_lbl1" xlink:title="label: PaymentsForSoftware to us-gaap_PaymentsForSoftware_lbl1" />
    <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="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PlanNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PlanNameDomain_lbl" xml:lang="en-US" id="us-gaap_PlanNameDomain_lbl">Plan Name [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PlanNameDomain" xlink:to="us-gaap_PlanNameDomain_lbl" xlink:title="label: PlanNameDomain to us-gaap_PlanNameDomain_lbl" />
    <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="PlanNameAxis" xlink:title="PlanNameAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PlanNameAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PlanNameAxis_lbl" xml:lang="en-US" id="us-gaap_PlanNameAxis_lbl">Plan Name [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl" xlink:title="label: PlanNameAxis to us-gaap_PlanNameAxis_lbl" />
    <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="PreferredStockValue" xlink:title="PreferredStockValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PreferredStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_PreferredStockValue_lbl" xml:lang="en-US" id="us-gaap_PreferredStockValue_lbl">Preferred stock</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PreferredStockValue" xlink:to="us-gaap_PreferredStockValue_lbl" xlink:title="label: PreferredStockValue to us-gaap_PreferredStockValue_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PreferredStockValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PreferredStockValue_lbl1" xml:lang="en-US" id="us-gaap_PreferredStockValue_lbl1">Preferred Stock, Value, Issued</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PreferredStockValue" xlink:to="us-gaap_PreferredStockValue_lbl1" xlink:title="label: PreferredStockValue to us-gaap_PreferredStockValue_lbl1" />
    <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="PreferredStockSharesAuthorized" xlink:title="PreferredStockSharesAuthorized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US" id="us-gaap_PreferredStockSharesAuthorized_lbl">Preferred stock, shares authorized (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized_lbl" xlink:title="label: PreferredStockSharesAuthorized to us-gaap_PreferredStockSharesAuthorized_lbl" />
    <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="PreferredStockParOrStatedValuePerShare" xlink:title="PreferredStockParOrStatedValuePerShare" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xml:lang="en-US" id="us-gaap_PreferredStockParOrStatedValuePerShare_lbl">Preferred stock par value (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PreferredStockParOrStatedValuePerShare" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xlink:title="label: PreferredStockParOrStatedValuePerShare to us-gaap_PreferredStockParOrStatedValuePerShare_lbl" />
    <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="PreferredStockSharesOutstanding" xlink:title="PreferredStockSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PreferredStockSharesOutstanding_lbl" xml:lang="en-US" id="us-gaap_PreferredStockSharesOutstanding_lbl">Preferred stock, shares outstanding (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding_lbl" xlink:title="label: PreferredStockSharesOutstanding to us-gaap_PreferredStockSharesOutstanding_lbl" />
    <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="PreferredStockSharesIssued" xlink:title="PreferredStockSharesIssued" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PreferredStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PreferredStockSharesIssued_lbl" xml:lang="en-US" id="us-gaap_PreferredStockSharesIssued_lbl">Preferred stock, shares issued (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued_lbl" xlink:title="label: PreferredStockSharesIssued to us-gaap_PreferredStockSharesIssued_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidTaxes" xlink:label="PrepaidTaxes" xlink:title="PrepaidTaxes" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PrepaidTaxes_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PrepaidTaxes_lbl" xml:lang="en-US" id="us-gaap_PrepaidTaxes_lbl">Prepaid income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PrepaidTaxes" xlink:to="us-gaap_PrepaidTaxes_lbl" xlink:title="label: PrepaidTaxes to us-gaap_PrepaidTaxes_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromCollectionOfNotesReceivable" xlink:label="ProceedsFromCollectionOfNotesReceivable" xlink:title="ProceedsFromCollectionOfNotesReceivable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProceedsFromCollectionOfNotesReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ProceedsFromCollectionOfNotesReceivable_lbl" xml:lang="en-US" id="us-gaap_ProceedsFromCollectionOfNotesReceivable_lbl">Collection of note receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProceedsFromCollectionOfNotesReceivable" xlink:to="us-gaap_ProceedsFromCollectionOfNotesReceivable_lbl" xlink:title="label: ProceedsFromCollectionOfNotesReceivable to us-gaap_ProceedsFromCollectionOfNotesReceivable_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProceedsFromCollectionOfNotesReceivable_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ProceedsFromCollectionOfNotesReceivable_lbl1" xml:lang="en-US" id="us-gaap_ProceedsFromCollectionOfNotesReceivable_lbl1">Proceeds from Collection of Notes Receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProceedsFromCollectionOfNotesReceivable" xlink:to="us-gaap_ProceedsFromCollectionOfNotesReceivable_lbl1" xlink:title="label: ProceedsFromCollectionOfNotesReceivable to us-gaap_ProceedsFromCollectionOfNotesReceivable_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt" xlink:label="ProceedsFromIssuanceOfOtherLongTermDebt" xlink:title="ProceedsFromIssuanceOfOtherLongTermDebt" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt_lbl" xml:lang="en-US" id="us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt_lbl">Long-term debt borrowings</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProceedsFromIssuanceOfOtherLongTermDebt" xlink:to="us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt_lbl" xlink:title="label: ProceedsFromIssuanceOfOtherLongTermDebt to us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="ProceedsFromLinesOfCredit" xlink:title="ProceedsFromLinesOfCredit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProceedsFromLinesOfCredit_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ProceedsFromLinesOfCredit_lbl" xml:lang="en-US" id="us-gaap_ProceedsFromLinesOfCredit_lbl">Revolving credit line borrowings</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProceedsFromLinesOfCredit" xlink:to="us-gaap_ProceedsFromLinesOfCredit_lbl" xlink:title="label: ProceedsFromLinesOfCredit to us-gaap_ProceedsFromLinesOfCredit_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="ProceedsFromIssuanceOfCommonStock" xlink:title="ProceedsFromIssuanceOfCommonStock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xml:lang="en-US" id="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl">Proceeds from the issuance of common stock</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProceedsFromIssuanceOfCommonStock" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xlink:title="label: ProceedsFromIssuanceOfCommonStock to us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl1" xml:lang="en-US" id="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl1">Proceeds from Public Offering</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProceedsFromIssuanceOfCommonStock" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl1" xlink:title="label: ProceedsFromIssuanceOfCommonStock to us-gaap_ProceedsFromIssuanceOfCommonStock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:title="ProceedsFromSaleOfPropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xml:lang="en-US" id="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl">Proceeds from sale of fixed assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" xlink:title="label: ProceedsFromSaleOfPropertyPlantAndEquipment to us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl" />
    <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="ProceedsFromStockOptionsExercised" xlink:title="ProceedsFromStockOptionsExercised" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US" id="us-gaap_ProceedsFromStockOptionsExercised_lbl">Proceeds from stock option exercises</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_lbl" xlink:title="label: ProceedsFromStockOptionsExercised to us-gaap_ProceedsFromStockOptionsExercised_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ProceedsFromStockOptionsExercised_lbl1" xml:lang="en-US" id="us-gaap_ProceedsFromStockOptionsExercised_lbl1">Cash received from exercise of stock options</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_lbl1" xlink:title="label: ProceedsFromStockOptionsExercised to us-gaap_ProceedsFromStockOptionsExercised_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductWarrantyLiabilityLineItems" xlink:label="ProductWarrantyLiabilityLineItems" xlink:title="ProductWarrantyLiabilityLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ProductWarrantyLiabilityLineItems_lbl" xml:lang="en-US" id="us-gaap_ProductWarrantyLiabilityLineItems_lbl">Product Warranty Liability [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ProductWarrantyLiabilityLineItems_lbl" xlink:title="label: ProductWarrantyLiabilityLineItems to us-gaap_ProductWarrantyLiabilityLineItems_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductWarrantyLiabilityTable" xlink:label="ProductWarrantyLiabilityTable" xlink:title="ProductWarrantyLiabilityTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProductWarrantyLiabilityTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ProductWarrantyLiabilityTable_lbl" xml:lang="en-US" id="us-gaap_ProductWarrantyLiabilityTable_lbl">Product Warranty Liability [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProductWarrantyLiabilityTable" xlink:to="us-gaap_ProductWarrantyLiabilityTable_lbl" xlink:title="label: ProductWarrantyLiabilityTable to us-gaap_ProductWarrantyLiabilityTable_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="PropertyPlantAndEquipmentLineItems" xlink:title="PropertyPlantAndEquipmentLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentLineItems_lbl">Property, Plant and Equipment [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xlink:title="label: PropertyPlantAndEquipmentLineItems to us-gaap_PropertyPlantAndEquipmentLineItems_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="PropertyPlantAndEquipmentDisclosureTextBlock" xlink:title="PropertyPlantAndEquipmentDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl">Fixed assets, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xlink:title="label: PropertyPlantAndEquipmentDisclosureTextBlock to us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl1">Property, Plant and Equipment Disclosure [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl1" xlink:title="label: PropertyPlantAndEquipmentDisclosureTextBlock to us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="PropertyPlantAndEquipmentUsefulLife" xlink:title="PropertyPlantAndEquipmentUsefulLife" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl">Estimated useful life</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xlink:title="label: PropertyPlantAndEquipmentUsefulLife to us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" xlink:title="PropertyPlantAndEquipmentAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentAbstract_lbl">Fixed assets, net [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xlink:title="label: PropertyPlantAndEquipmentAbstract to us-gaap_PropertyPlantAndEquipmentAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentAbstract_lbl1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentAbstract_lbl1">Fixed assets [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl1" xlink:title="label: PropertyPlantAndEquipmentAbstract to us-gaap_PropertyPlantAndEquipmentAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="PropertyPlantAndEquipmentTextBlock" xlink:title="PropertyPlantAndEquipmentTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl">Fixed Assets, Net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xlink:title="label: PropertyPlantAndEquipmentTextBlock to us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl1">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl1" xlink:title="label: PropertyPlantAndEquipmentTextBlock to us-gaap_PropertyPlantAndEquipmentTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl">Long-Lived Tangible Asset [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xlink:title="label: PropertyPlantAndEquipmentByTypeAxis to us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl">Long-Lived Tangible Asset [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xlink:title="label: PropertyPlantAndEquipmentTypeDomain to us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" />
    <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="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentNet_lbl">Fixed assets, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:title="label: PropertyPlantAndEquipmentNet to us-gaap_PropertyPlantAndEquipmentNet_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentNet_lbl1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentNet_lbl1">Fixed assets, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl1" xlink:title="label: PropertyPlantAndEquipmentNet to us-gaap_PropertyPlantAndEquipmentNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="PropertyPlantAndEquipmentPolicyTextBlock" xlink:title="PropertyPlantAndEquipmentPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl">Fixed assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xlink:title="label: PropertyPlantAndEquipmentPolicyTextBlock to us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl1">Property, Plant and Equipment, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl1" xlink:title="label: PropertyPlantAndEquipmentPolicyTextBlock to us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="PropertyPlantAndEquipmentGross" xlink:title="PropertyPlantAndEquipmentGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentGross_lbl">Fixed assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:title="label: PropertyPlantAndEquipmentGross to us-gaap_PropertyPlantAndEquipmentGross_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentGross_lbl1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentGross_lbl1">Property, Plant and Equipment, Gross</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl1" xlink:title="label: PropertyPlantAndEquipmentGross to us-gaap_PropertyPlantAndEquipmentGross_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" xlink:label="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:title="PropertyPlantAndEquipmentNetByTypeAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_lbl" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_lbl">Fixed assets [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_lbl" xlink:title="label: PropertyPlantAndEquipmentNetByTypeAbstract to us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_lbl1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_lbl1">Property, Plant and Equipment, Net, by Type [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_lbl1" xlink:title="label: PropertyPlantAndEquipmentNetByTypeAbstract to us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProvisionForLoanLeaseAndOtherLosses" xlink:label="ProvisionForLoanLeaseAndOtherLosses" xlink:title="ProvisionForLoanLeaseAndOtherLosses" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProvisionForLoanLeaseAndOtherLosses_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ProvisionForLoanLeaseAndOtherLosses_lbl" xml:lang="en-US" id="us-gaap_ProvisionForLoanLeaseAndOtherLosses_lbl">(Recovery of) provision for doubtful accounts</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProvisionForLoanLeaseAndOtherLosses" xlink:to="us-gaap_ProvisionForLoanLeaseAndOtherLosses_lbl" xlink:title="label: ProvisionForLoanLeaseAndOtherLosses to us-gaap_ProvisionForLoanLeaseAndOtherLosses_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProvisionForLoanLeaseAndOtherLosses_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ProvisionForLoanLeaseAndOtherLosses_lbl1" xml:lang="en-US" id="us-gaap_ProvisionForLoanLeaseAndOtherLosses_lbl1">Provision for Loan, Lease, and Other Losses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProvisionForLoanLeaseAndOtherLosses" xlink:to="us-gaap_ProvisionForLoanLeaseAndOtherLosses_lbl1" xlink:title="label: ProvisionForLoanLeaseAndOtherLosses to us-gaap_ProvisionForLoanLeaseAndOtherLosses_lbl1" />
    <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="ProvisionForDoubtfulAccounts" xlink:title="ProvisionForDoubtfulAccounts" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US" id="us-gaap_ProvisionForDoubtfulAccounts_lbl">Additions charged to costs and expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_lbl" xlink:title="label: ProvisionForDoubtfulAccounts to us-gaap_ProvisionForDoubtfulAccounts_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_QuarterlyFinancialInformationTextBlock" xlink:label="QuarterlyFinancialInformationTextBlock" xlink:title="QuarterlyFinancialInformationTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_QuarterlyFinancialInformationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_QuarterlyFinancialInformationTextBlock_lbl" xml:lang="en-US" id="us-gaap_QuarterlyFinancialInformationTextBlock_lbl">Quarterly results of operations (unaudited)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="QuarterlyFinancialInformationTextBlock" xlink:to="us-gaap_QuarterlyFinancialInformationTextBlock_lbl" xlink:title="label: QuarterlyFinancialInformationTextBlock to us-gaap_QuarterlyFinancialInformationTextBlock_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:label="QuarterlyFinancialInformationDisclosureAbstract" xlink:title="QuarterlyFinancialInformationDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_QuarterlyFinancialInformationDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_QuarterlyFinancialInformationDisclosureAbstract_lbl" xml:lang="en-US" id="us-gaap_QuarterlyFinancialInformationDisclosureAbstract_lbl">Quarterly results of operations (unaudited) [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="QuarterlyFinancialInformationDisclosureAbstract" xlink:to="us-gaap_QuarterlyFinancialInformationDisclosureAbstract_lbl" xlink:title="label: QuarterlyFinancialInformationDisclosureAbstract to us-gaap_QuarterlyFinancialInformationDisclosureAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:label="ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:title="ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy_lbl" xml:lang="en-US" id="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy_lbl">Allowance for doubtful accounts</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:to="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy_lbl" xlink:title="label: ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy to us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy_lbl1" xml:lang="en-US" id="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy_lbl1">Receivables, Trade and Other Accounts Receivable, Allowance for Doubtful Accounts, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:to="us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy_lbl1" xlink:title="label: ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy to us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:label="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:title="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_lbl" xml:lang="en-US" id="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_lbl">Unrecognized tax benefits [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_lbl" xlink:title="label: ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward to us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_lbl" />
    <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="RepaymentsOfLinesOfCredit" xlink:title="RepaymentsOfLinesOfCredit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RepaymentsOfLinesOfCredit_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_RepaymentsOfLinesOfCredit_lbl" xml:lang="en-US" id="us-gaap_RepaymentsOfLinesOfCredit_lbl">Revolving credit line payments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RepaymentsOfLinesOfCredit" xlink:to="us-gaap_RepaymentsOfLinesOfCredit_lbl" xlink:title="label: RepaymentsOfLinesOfCredit to us-gaap_RepaymentsOfLinesOfCredit_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RepaymentsOfLinesOfCredit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RepaymentsOfLinesOfCredit_lbl1" xml:lang="en-US" id="us-gaap_RepaymentsOfLinesOfCredit_lbl1">Repayments of Lines of Credit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RepaymentsOfLinesOfCredit" xlink:to="us-gaap_RepaymentsOfLinesOfCredit_lbl1" xlink:title="label: RepaymentsOfLinesOfCredit to us-gaap_RepaymentsOfLinesOfCredit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseAbstract" xlink:label="ResearchAndDevelopmentExpenseAbstract" xlink:title="ResearchAndDevelopmentExpenseAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpenseAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ResearchAndDevelopmentExpenseAbstract_lbl" xml:lang="en-US" id="us-gaap_ResearchAndDevelopmentExpenseAbstract_lbl">Engineering, design and product development [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ResearchAndDevelopmentExpenseAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpenseAbstract_lbl" xlink:title="label: ResearchAndDevelopmentExpenseAbstract to us-gaap_ResearchAndDevelopmentExpenseAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpenseAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ResearchAndDevelopmentExpenseAbstract_lbl1" xml:lang="en-US" id="us-gaap_ResearchAndDevelopmentExpenseAbstract_lbl1">Research and Development Expense [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ResearchAndDevelopmentExpenseAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpenseAbstract_lbl1" xlink:title="label: ResearchAndDevelopmentExpenseAbstract to us-gaap_ResearchAndDevelopmentExpenseAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="ResearchAndDevelopmentExpensePolicy" xlink:title="ResearchAndDevelopmentExpensePolicy" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xml:lang="en-US" id="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl">Engineering, design and product development</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ResearchAndDevelopmentExpensePolicy" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xlink:title="label: ResearchAndDevelopmentExpensePolicy to us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl1" xml:lang="en-US" id="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl1">Research and Development Expense, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ResearchAndDevelopmentExpensePolicy" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl1" xlink:title="label: ResearchAndDevelopmentExpensePolicy to us-gaap_ResearchAndDevelopmentExpensePolicy_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchMember" xlink:label="ResearchMember" xlink:title="ResearchMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ResearchMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ResearchMember_lbl" xml:lang="en-US" id="us-gaap_ResearchMember_lbl">R&amp;D Credit [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ResearchMember" xlink:to="us-gaap_ResearchMember_lbl" xlink:title="label: ResearchMember to us-gaap_ResearchMember_lbl" />
    <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="ResearchAndDevelopmentExpense" xlink:title="ResearchAndDevelopmentExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ResearchAndDevelopmentExpense_lbl" xml:lang="en-US" id="us-gaap_ResearchAndDevelopmentExpense_lbl">Engineering, design and product development</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:title="label: ResearchAndDevelopmentExpense to us-gaap_ResearchAndDevelopmentExpense_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ResearchAndDevelopmentExpense_lbl1" xml:lang="en-US" id="us-gaap_ResearchAndDevelopmentExpense_lbl1">Research and development expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl1" xlink:title="label: ResearchAndDevelopmentExpense to us-gaap_ResearchAndDevelopmentExpense_lbl1" />
    <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="RestrictedStockUnitsRSUMember" xlink:title="RestrictedStockUnitsRSUMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US" id="us-gaap_RestrictedStockUnitsRSUMember_lbl">Restricted Share Units [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl" xlink:title="label: RestrictedStockUnitsRSUMember to us-gaap_RestrictedStockUnitsRSUMember_lbl" />
    <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="RetainedEarningsMember" xlink:title="RetainedEarningsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RetainedEarningsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US" id="us-gaap_RetainedEarningsMember_lbl">Retained Earnings [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" xlink:title="label: RetainedEarningsMember to us-gaap_RetainedEarningsMember_lbl" />
    <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="RetainedEarningsAccumulatedDeficit" xlink:title="RetainedEarningsAccumulatedDeficit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US" id="us-gaap_RetainedEarningsAccumulatedDeficit_lbl">Retained earnings</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:title="label: RetainedEarningsAccumulatedDeficit to us-gaap_RetainedEarningsAccumulatedDeficit_lbl" />
    <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="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_lbl" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_lbl">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_lbl" xlink:title="label: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis to us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_lbl" />
    <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="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" xlink:title="label: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenuePerformanceObligationAbstract" xlink:label="RevenuePerformanceObligationAbstract" xlink:title="RevenuePerformanceObligationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenuePerformanceObligationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_RevenuePerformanceObligationAbstract_lbl" xml:lang="en-US" id="us-gaap_RevenuePerformanceObligationAbstract_lbl">Remaining performance obligations [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenuePerformanceObligationAbstract" xlink:to="us-gaap_RevenuePerformanceObligationAbstract_lbl" xlink:title="label: RevenuePerformanceObligationAbstract to us-gaap_RevenuePerformanceObligationAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenuePerformanceObligationAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenuePerformanceObligationAbstract_lbl1" xml:lang="en-US" id="us-gaap_RevenuePerformanceObligationAbstract_lbl1">Revenue, Performance Obligation [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenuePerformanceObligationAbstract" xlink:to="us-gaap_RevenuePerformanceObligationAbstract_lbl1" xlink:title="label: RevenuePerformanceObligationAbstract to us-gaap_RevenuePerformanceObligationAbstract_lbl1" />
    <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="RevenueRemainingPerformanceObligation" xlink:title="RevenueRemainingPerformanceObligation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_RevenueRemainingPerformanceObligation_lbl" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligation_lbl">Remaining performance obligations</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl" xlink:title="label: RevenueRemainingPerformanceObligation to us-gaap_RevenueRemainingPerformanceObligation_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueRemainingPerformanceObligation_lbl1" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligation_lbl1">Revenue, Remaining Performance Obligation, Amount</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl1" xlink:title="label: RevenueRemainingPerformanceObligation to us-gaap_RevenueRemainingPerformanceObligation_lbl1" />
    <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="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl">Expected timing of satisfaction, period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" xlink:title="label: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 to us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl1" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl1">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl1" xlink:title="label: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 to us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="RevenueFromContractWithCustomerPolicyTextBlock" xlink:title="RevenueFromContractWithCustomerPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xml:lang="en-US" id="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl">Revenue recognition</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xlink:title="label: RevenueFromContractWithCustomerPolicyTextBlock to us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" />
    <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="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl" xlink:title="label: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable to us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl" />
    <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="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US" id="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl">Net sales</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xlink:title="label: RevenueFromContractWithCustomerExcludingAssessedTax to us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:title="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xml:lang="en-US" id="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl">Revenues from External Customers and Long-Lived Assets [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xlink:title="label: RevenuesFromExternalCustomersAndLongLivedAssetsLineItems to us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="RisksAndUncertaintiesAbstract" xlink:title="RisksAndUncertaintiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RisksAndUncertaintiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_RisksAndUncertaintiesAbstract_lbl" xml:lang="en-US" id="us-gaap_RisksAndUncertaintiesAbstract_lbl">Concentration of credit risk [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RisksAndUncertaintiesAbstract" xlink:to="us-gaap_RisksAndUncertaintiesAbstract_lbl" xlink:title="label: RisksAndUncertaintiesAbstract to us-gaap_RisksAndUncertaintiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RisksAndUncertaintiesAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RisksAndUncertaintiesAbstract_lbl1" xml:lang="en-US" id="us-gaap_RisksAndUncertaintiesAbstract_lbl1">Risks and Uncertainties [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RisksAndUncertaintiesAbstract" xlink:to="us-gaap_RisksAndUncertaintiesAbstract_lbl1" xlink:title="label: RisksAndUncertaintiesAbstract to us-gaap_RisksAndUncertaintiesAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl">Options vested and expected to vest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl">Expected option term</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl">Term of award</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl">Options exercisable, end of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1 to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl">Fair value of all awards vested</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1 to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl1" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl1" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1 to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl">Options exercisable, end of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl1" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl1" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl">Weighted average fair value of grants (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl">Restricted stock units vested and expected to vest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl1" xml:lang="en-US" id="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl1" xlink:title="label: SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested to us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentsGeographicalAreasAbstract" xlink:label="SegmentsGeographicalAreasAbstract" xlink:title="SegmentsGeographicalAreasAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SegmentsGeographicalAreasAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SegmentsGeographicalAreasAbstract_lbl" xml:lang="en-US" id="us-gaap_SegmentsGeographicalAreasAbstract_lbl">Geographical area information [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SegmentsGeographicalAreasAbstract" xlink:to="us-gaap_SegmentsGeographicalAreasAbstract_lbl" xlink:title="label: SegmentsGeographicalAreasAbstract to us-gaap_SegmentsGeographicalAreasAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SegmentsGeographicalAreasAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SegmentsGeographicalAreasAbstract_lbl1" xml:lang="en-US" id="us-gaap_SegmentsGeographicalAreasAbstract_lbl1">Segments, Geographical Areas [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SegmentsGeographicalAreasAbstract" xlink:to="us-gaap_SegmentsGeographicalAreasAbstract_lbl1" xlink:title="label: SegmentsGeographicalAreasAbstract to us-gaap_SegmentsGeographicalAreasAbstract_lbl1" />
    <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="SalesRevenueNetMember" xlink:title="SalesRevenueNetMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US" id="us-gaap_SalesRevenueNetMember_lbl">Sales [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl" xlink:title="label: SalesRevenueNetMember to us-gaap_SalesRevenueNetMember_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:title="ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl">Assumptions Used in Option Valuation Calculations</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xlink:title="label: ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock to us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" />
    <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="ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:title="ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl">Stock Option Activity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xlink:title="label: ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock to us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:title="ScheduleOfProductWarrantyLiabilityTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl">Product Warranty Liability</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl" xlink:title="label: ScheduleOfProductWarrantyLiabilityTableTextBlock to us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl1">Schedule of Product Warranty Liability [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl1" xlink:title="label: ScheduleOfProductWarrantyLiabilityTableTextBlock to us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="ScheduleOfInventoryCurrentTableTextBlock" xlink:title="ScheduleOfInventoryCurrentTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl">Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xlink:title="label: ScheduleOfInventoryCurrentTableTextBlock to us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1" xlink:title="label: ScheduleOfInventoryCurrentTableTextBlock to us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:label="ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:title="ScheduleOfQuarterlyFinancialInformationTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl">Quarterly Results of Operations</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl" xlink:title="label: ScheduleOfQuarterlyFinancialInformationTableTextBlock to us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl1">Quarterly Financial Information [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:to="us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl1" xlink:title="label: ScheduleOfQuarterlyFinancialInformationTableTextBlock to us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:label="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:title="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_lbl">Net Sales and Fixed Assets by Geographic Area</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_lbl" xlink:title="label: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock to us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:title="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xlink:title="label: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:label="ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:title="ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock_lbl">Allowance for Doubtful Accounts</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock_lbl" xlink:title="label: ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock to us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock_lbl1">Financing Receivable, Current, Allowance for Credit Loss [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock_lbl1" xlink:title="label: ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock to us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:title="ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl">Deferred Tax Assets and Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xlink:title="label: ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock to us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:title="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl">Statutory to Effective Tax Rate Reconciliation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xlink:title="label: ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock to us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl1">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl1" xlink:title="label: ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock to us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:title="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl">Components of Income Tax Benefit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xlink:title="label: ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock to us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl1">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl1" xlink:title="label: ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock to us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl1" />
    <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="ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:title="ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl">Identifiable Intangible Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xlink:title="label: ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock to us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" />
    <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="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xlink:title="label: ScheduleOfFiniteLivedIntangibleAssetsTable to us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" />
    <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="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:title="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl">Earnings per Share</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xlink:title="label: ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock to us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl1">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl1" xlink:title="label: ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock to us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:title="ScheduleOfAccruedLiabilitiesTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl">Accrued Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" xlink:title="label: ScheduleOfAccruedLiabilitiesTableTextBlock to us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl1">Schedule of Accrued Liabilities [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl1" xlink:title="label: ScheduleOfAccruedLiabilitiesTableTextBlock to us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:title="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xlink:title="label: ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable to us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable" xlink:label="ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable" xlink:title="ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable_lbl">Schedule of Deferred Compensation Arrangement with Individual, Share-based Payments [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable" xlink:to="us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable_lbl" xlink:title="label: ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable to us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable_lbl" />
    <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="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:title="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl" xlink:title="label: ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable to us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl">Property, Plant and Equipment [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xlink:title="label: ScheduleOfPropertyPlantAndEquipmentTable to us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" />
    <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="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xml:lang="en-US" id="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xlink:title="label: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:title="SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl" xml:lang="en-US" id="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl">Concentration of Credit Risk</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl" xlink:title="label: SchedulesOfConcentrationOfRiskByRiskFactorTextBlock to us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl1" xml:lang="en-US" id="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl1">Schedules of Concentration of Risk, by Risk Factor [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl1" xlink:title="label: SchedulesOfConcentrationOfRiskByRiskFactorTextBlock to us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SecuredDebt" xlink:label="SecuredDebt" xlink:title="SecuredDebt" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SecuredDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SecuredDebt_lbl" xml:lang="en-US" id="us-gaap_SecuredDebt_lbl">Balance outstanding</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SecuredDebt" xlink:to="us-gaap_SecuredDebt_lbl" xlink:title="label: SecuredDebt to us-gaap_SecuredDebt_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SecuredDebt_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SecuredDebt_lbl1" xml:lang="en-US" id="us-gaap_SecuredDebt_lbl1">Secured Debt</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SecuredDebt" xlink:to="us-gaap_SecuredDebt_lbl1" xlink:title="label: SecuredDebt to us-gaap_SecuredDebt_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" xlink:title="SegmentReportingAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SegmentReportingAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SegmentReportingAbstract_lbl" xml:lang="en-US" id="us-gaap_SegmentReportingAbstract_lbl">Segment reporting [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl" xlink:title="label: SegmentReportingAbstract to us-gaap_SegmentReportingAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SegmentReportingAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SegmentReportingAbstract_lbl1" xml:lang="en-US" id="us-gaap_SegmentReportingAbstract_lbl1">Geographic area information [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl1" xlink:title="label: SegmentReportingAbstract to us-gaap_SegmentReportingAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="SegmentReportingDisclosureTextBlock" xlink:title="SegmentReportingDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US" id="us-gaap_SegmentReportingDisclosureTextBlock_lbl">Geographic area information</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xlink:title="label: SegmentReportingDisclosureTextBlock to us-gaap_SegmentReportingDisclosureTextBlock_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="SegmentReportingPolicyPolicyTextBlock" xlink:title="SegmentReportingPolicyPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl" xml:lang="en-US" id="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl">Segment reporting</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SegmentReportingPolicyPolicyTextBlock" xlink:to="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl" xlink:title="label: SegmentReportingPolicyPolicyTextBlock to us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl" />
    <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="SellingAndMarketingExpense" xlink:title="SellingAndMarketingExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SellingAndMarketingExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SellingAndMarketingExpense_lbl" xml:lang="en-US" id="us-gaap_SellingAndMarketingExpense_lbl">Selling and marketing</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SellingAndMarketingExpense" xlink:to="us-gaap_SellingAndMarketingExpense_lbl" xlink:title="label: SellingAndMarketingExpense to us-gaap_SellingAndMarketingExpense_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SeriesAPreferredStockMember" xlink:label="SeriesAPreferredStockMember" xlink:title="SeriesAPreferredStockMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SeriesAPreferredStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SeriesAPreferredStockMember_lbl" xml:lang="en-US" id="us-gaap_SeriesAPreferredStockMember_lbl">Series A Preferred Stock [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SeriesAPreferredStockMember" xlink:to="us-gaap_SeriesAPreferredStockMember_lbl" xlink:title="label: SeriesAPreferredStockMember to us-gaap_SeriesAPreferredStockMember_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl">Vesting period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl">Weighted Average Exercise Price [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl">Granted (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:label="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:title="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract_lbl" xml:lang="en-US" id="us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract_lbl">Stock incentive plans [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:to="us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract_lbl" xlink:title="label: ShareBasedArrangementsToObtainGoodsAndServicesAbstract to us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract_lbl1">Share-based Payment Arrangement, Disclosure [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:to="us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract_lbl1" xlink:title="label: ShareBasedArrangementsToObtainGoodsAndServicesAbstract to us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract_lbl1" />
    <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="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl">Forfeited (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" xlink:title="label: ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl">Weighted Average Grant Stock Price [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_lbl">Forfeited (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Forfeitures</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl">Outstanding, beginning of period (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl1">Outstanding, end of period (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl2" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl2">Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding, Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl2" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_lbl">Expired (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Expirations</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_lbl">Exercised (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Exercised</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationAbstract" xlink:label="ShareBasedCompensationAbstract" xlink:title="ShareBasedCompensationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationAbstract_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationAbstract_lbl">Share-based compensation [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationAbstract" xlink:to="us-gaap_ShareBasedCompensationAbstract_lbl" xlink:title="label: ShareBasedCompensationAbstract to us-gaap_ShareBasedCompensationAbstract_lbl" />
    <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="ShareBasedCompensation" xlink:title="ShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensation_lbl">Share-based compensation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl" xlink:title="label: ShareBasedCompensation to us-gaap_ShareBasedCompensation_lbl" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl">Forfeited (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl">Restricted stock units vested and expected to vest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Outstanding, Weighted Average Remaining Contractual Terms</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl">Expired (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:title="label: ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl1">Share-based Compensation Arrangements by Share-based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl1" xlink:title="label: ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_lbl1" />
    <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="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl">Exercised (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xlink:title="label: ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_lbl">Equity Awards Vested and Expected to Vest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding and Exercisable [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_lbl1" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_lbl">Granted (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Granted</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_lbl1" />
    <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="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl">Granted (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xlink:title="label: ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_lbl">Number of Units [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl">Dividend yield</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl1" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl">Outstanding, beginning of period (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl1">Outstanding, end of period (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl2" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl">Granted (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl1">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:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract_lbl">Assumptions used in valuation model [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl">Risk-free interest rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl">Number of shares authorized (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl">Expired (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Options, Expirations in Period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_lbl1" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl">Number of shares available for grant (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl">Options exercisable, end of period (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl">Options exercisable, end of period (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl">Expected volatility</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl">Forfeited (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl1" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl">Intrinsic value of stock options exercised</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_lbl">Options vested or expected to vest (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_lbl" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl">Outstanding, beginning of period (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl1">Outstanding, end of period (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl2" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl2">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl2" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl2" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl">Outstanding, end of period (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl1" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl1">Outstanding, beginning of period (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl2" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl2">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl2" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl2" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl">Number of Shares [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl">Options vested and expected to vest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl">Options vested or expected to vest (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl1" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber to us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl1" />
    <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="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl">Equity Award [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xlink:title="label: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:title="ShareBasedCompensationOptionAndIncentivePlansPolicy" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xml:lang="en-US" id="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl">Share-based payments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xlink:title="label: ShareBasedCompensationOptionAndIncentivePlansPolicy to us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US" id="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl">Relinquishment of stock awards and deferred stock units to pay withholding taxes (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xlink:title="label: SharesPaidForTaxWithholdingForShareBasedCompensation to us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" xml:lang="en-US" id="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1">Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" xlink:title="label: SharesPaidForTaxWithholdingForShareBasedCompensation to us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StandardProductWarrantyPolicy" xlink:label="StandardProductWarrantyPolicy" xlink:title="StandardProductWarrantyPolicy" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StandardProductWarrantyPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_StandardProductWarrantyPolicy_lbl" xml:lang="en-US" id="us-gaap_StandardProductWarrantyPolicy_lbl">Warranty</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StandardProductWarrantyPolicy" xlink:to="us-gaap_StandardProductWarrantyPolicy_lbl" xlink:title="label: StandardProductWarrantyPolicy to us-gaap_StandardProductWarrantyPolicy_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StandardProductWarrantyPolicy_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StandardProductWarrantyPolicy_lbl1" xml:lang="en-US" id="us-gaap_StandardProductWarrantyPolicy_lbl1">Standard Product Warranty, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StandardProductWarrantyPolicy" xlink:to="us-gaap_StandardProductWarrantyPolicy_lbl1" xlink:title="label: StandardProductWarrantyPolicy to us-gaap_StandardProductWarrantyPolicy_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="StateAndLocalJurisdictionMember" xlink:title="StateAndLocalJurisdictionMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StateAndLocalJurisdictionMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_StateAndLocalJurisdictionMember_lbl" xml:lang="en-US" id="us-gaap_StateAndLocalJurisdictionMember_lbl">State [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StateAndLocalJurisdictionMember" xlink:to="us-gaap_StateAndLocalJurisdictionMember_lbl" xlink:title="label: StateAndLocalJurisdictionMember to us-gaap_StateAndLocalJurisdictionMember_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StateAndLocalJurisdictionMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StateAndLocalJurisdictionMember_lbl1" xml:lang="en-US" id="us-gaap_StateAndLocalJurisdictionMember_lbl1">State and Local Jurisdiction [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StateAndLocalJurisdictionMember" xlink:to="us-gaap_StateAndLocalJurisdictionMember_lbl1" xlink:title="label: StateAndLocalJurisdictionMember to us-gaap_StateAndLocalJurisdictionMember_lbl1" />
    <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="StatementOfFinancialPositionAbstract" xlink:title="StatementOfFinancialPositionAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US" id="us-gaap_StatementOfFinancialPositionAbstract_lbl">CONSOLIDATED BALANCE SHEETS [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" xlink:title="label: StatementOfFinancialPositionAbstract to us-gaap_StatementOfFinancialPositionAbstract_lbl" />
    <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="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:title="StatementOfIncomeAndComprehensiveIncomeAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl" xml:lang="en-US" id="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl">CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl" xlink:title="label: StatementOfIncomeAndComprehensiveIncomeAbstract to us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="StatementClassOfStockAxis" xlink:title="StatementClassOfStockAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementClassOfStockAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementClassOfStockAxis_lbl" xml:lang="en-US" id="us-gaap_StatementClassOfStockAxis_lbl">Class of Stock [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis_lbl" xlink:title="label: StatementClassOfStockAxis to us-gaap_StatementClassOfStockAxis_lbl" />
    <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="StatementTable" xlink:title="StatementTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementTable_lbl" xml:lang="en-US" id="us-gaap_StatementTable_lbl">Statement [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementTable" xlink:to="us-gaap_StatementTable_lbl" xlink:title="label: StatementTable to us-gaap_StatementTable_lbl" />
    <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="StatementLineItems" xlink:title="StatementLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementLineItems_lbl" xml:lang="en-US" id="us-gaap_StatementLineItems_lbl">Statement [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" xlink:title="label: StatementLineItems to us-gaap_StatementLineItems_lbl" />
    <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="StatementOfCashFlowsAbstract" xlink:title="StatementOfCashFlowsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US" id="us-gaap_StatementOfCashFlowsAbstract_lbl">CONSOLIDATED STATEMENTS OF CASH FLOWS [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" xlink:title="label: StatementOfCashFlowsAbstract to us-gaap_StatementOfCashFlowsAbstract_lbl" />
    <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="StatementEquityComponentsAxis" xlink:title="StatementEquityComponentsAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US" id="us-gaap_StatementEquityComponentsAxis_lbl">Equity Components [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" xlink:title="label: StatementEquityComponentsAxis to us-gaap_StatementEquityComponentsAxis_lbl" />
    <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="StatementOfStockholdersEquityAbstract" xlink:title="StatementOfStockholdersEquityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xml:lang="en-US" id="us-gaap_StatementOfStockholdersEquityAbstract_lbl">CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xlink:title="label: StatementOfStockholdersEquityAbstract to us-gaap_StatementOfStockholdersEquityAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" xlink:label="StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" xlink:title="StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense_lbl" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense_lbl">Issuance of shares from exercise of stock options</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense_lbl" xlink:title="label: StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense to us-gaap_StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense_lbl1" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense_lbl1">Stock Issued, Value, Stock Options Exercised, Net of Tax Benefit (Expense)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense_lbl1" xlink:title="label: StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense to us-gaap_StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense_lbl1" />
    <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="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl">Exercised (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xlink:title="label: StockIssuedDuringPeriodSharesStockOptionsExercised to us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl1" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl1">Issuance of shares from exercise of stock options (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl1" xlink:title="label: StockIssuedDuringPeriodSharesStockOptionsExercised to us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="StockIssuedDuringPeriodSharesNewIssues" xlink:title="StockIssuedDuringPeriodSharesNewIssues" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl">Issuance of common stock, net of issuance cost (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xlink:title="label: StockIssuedDuringPeriodSharesNewIssues to us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl1" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl1">Shares sold in Public Offering (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl1" xlink:title="label: StockIssuedDuringPeriodSharesNewIssues to us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:title="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl">Issuance of common stock on restricted stock units (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl" xlink:title="label: StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures to us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl1" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl1">Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl1" xlink:title="label: StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures to us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockCompensationPlanMember" xlink:label="StockCompensationPlanMember" xlink:title="StockCompensationPlanMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockCompensationPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockCompensationPlanMember_lbl" xml:lang="en-US" id="us-gaap_StockCompensationPlanMember_lbl">Stock Awards [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockCompensationPlanMember" xlink:to="us-gaap_StockCompensationPlanMember_lbl" xlink:title="label: StockCompensationPlanMember to us-gaap_StockCompensationPlanMember_lbl" />
    <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="StockRepurchasedDuringPeriodValue" xlink:title="StockRepurchasedDuringPeriodValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xml:lang="en-US" id="us-gaap_StockRepurchasedDuringPeriodValue_lbl">Value of common stock repurchased</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockRepurchasedDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xlink:title="label: StockRepurchasedDuringPeriodValue to us-gaap_StockRepurchasedDuringPeriodValue_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:title="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl">Issuance of common stock on restricted stock units</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl" xlink:title="label: StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures to us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl1" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl1">Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl1" xlink:title="label: StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures to us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="StockIssuedDuringPeriodValueNewIssues" xlink:title="StockIssuedDuringPeriodValueNewIssues" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl">Issuance of common stock, net of issuance cost</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodValueNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xlink:title="label: StockIssuedDuringPeriodValueNewIssues to us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" />
    <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="StockRepurchasedDuringPeriodShares" xlink:title="StockRepurchasedDuringPeriodShares" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US" id="us-gaap_StockRepurchasedDuringPeriodShares_lbl">Common stock repurchased (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xlink:title="label: StockRepurchasedDuringPeriodShares to us-gaap_StockRepurchasedDuringPeriodShares_lbl" />
    <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="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_StockholdersEquity_lbl" xml:lang="en-US" id="us-gaap_StockholdersEquity_lbl">Total shareholders' equity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_StockholdersEquity_lbl1" xml:lang="en-US" id="us-gaap_StockholdersEquity_lbl1">Ending balance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl1" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity_lbl1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl2" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_StockholdersEquity_lbl2" xml:lang="en-US" id="us-gaap_StockholdersEquity_lbl2">Beginning balance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl2" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity_lbl2" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockholdersEquity_lbl3" xml:lang="en-US" id="us-gaap_StockholdersEquity_lbl3">Stockholders' Equity Attributable to Parent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl3" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity_lbl3" />
    <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="StockholdersEquityAbstract" xlink:title="StockholdersEquityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US" id="us-gaap_StockholdersEquityAbstract_lbl">Shareholders' equity:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl" xlink:title="label: StockholdersEquityAbstract to us-gaap_StockholdersEquityAbstract_lbl" />
    <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="SubsequentEventsAbstract" xlink:title="SubsequentEventsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SubsequentEventsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SubsequentEventsAbstract_lbl" xml:lang="en-US" id="us-gaap_SubsequentEventsAbstract_lbl">Subsequent events [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract_lbl" xlink:title="label: SubsequentEventsAbstract to us-gaap_SubsequentEventsAbstract_lbl" />
    <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="SubsequentEventsTextBlock" xlink:title="SubsequentEventsTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US" id="us-gaap_SubsequentEventsTextBlock_lbl">Subsequent events</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl" xlink:title="label: SubsequentEventsTextBlock to us-gaap_SubsequentEventsTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SubsequentEventsTextBlock_lbl1" xml:lang="en-US" id="us-gaap_SubsequentEventsTextBlock_lbl1">Subsequent Events [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl1" xlink:title="label: SubsequentEventsTextBlock to us-gaap_SubsequentEventsTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:label="SummaryOfValuationAllowanceTextBlock" xlink:title="SummaryOfValuationAllowanceTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SummaryOfValuationAllowanceTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SummaryOfValuationAllowanceTextBlock_lbl" xml:lang="en-US" id="us-gaap_SummaryOfValuationAllowanceTextBlock_lbl">Valuation Allowance on Deferred Tax Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SummaryOfValuationAllowanceTextBlock" xlink:to="us-gaap_SummaryOfValuationAllowanceTextBlock_lbl" xlink:title="label: SummaryOfValuationAllowanceTextBlock to us-gaap_SummaryOfValuationAllowanceTextBlock_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:label="SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:title="SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_lbl" xml:lang="en-US" id="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_lbl">Unrecognized Tax Benefits</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:to="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_lbl" xlink:title="label: SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock to us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_lbl1" xml:lang="en-US" id="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_lbl1">Summary of Positions for which Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:to="us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_lbl1" xlink:title="label: SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock to us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock_lbl1" />
    <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="SupplementalCashFlowInformationAbstract" xlink:title="SupplementalCashFlowInformationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US" id="us-gaap_SupplementalCashFlowInformationAbstract_lbl">Supplemental cash flow information:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xlink:title="label: SupplementalCashFlowInformationAbstract to us-gaap_SupplementalCashFlowInformationAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SupplementalCashFlowInformationAbstract_lbl1" xml:lang="en-US" id="us-gaap_SupplementalCashFlowInformationAbstract_lbl1">Supplemental Cash Flow Information [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl1" xlink:title="label: SupplementalCashFlowInformationAbstract to us-gaap_SupplementalCashFlowInformationAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="TaxCreditCarryforwardNameDomain" xlink:title="TaxCreditCarryforwardNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TaxCreditCarryforwardNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TaxCreditCarryforwardNameDomain_lbl" xml:lang="en-US" id="us-gaap_TaxCreditCarryforwardNameDomain_lbl">Tax Credit Carryforward, Name [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TaxCreditCarryforwardNameDomain" xlink:to="us-gaap_TaxCreditCarryforwardNameDomain_lbl" xlink:title="label: TaxCreditCarryforwardNameDomain to us-gaap_TaxCreditCarryforwardNameDomain_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="TaxCreditCarryforwardAmount" xlink:title="TaxCreditCarryforwardAmount" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TaxCreditCarryforwardAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TaxCreditCarryforwardAmount_lbl" xml:lang="en-US" id="us-gaap_TaxCreditCarryforwardAmount_lbl">Tax credit carryforward</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TaxCreditCarryforwardAmount" xlink:to="us-gaap_TaxCreditCarryforwardAmount_lbl" xlink:title="label: TaxCreditCarryforwardAmount to us-gaap_TaxCreditCarryforwardAmount_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TaxCreditCarryforwardAxis" xlink:label="TaxCreditCarryforwardAxis" xlink:title="TaxCreditCarryforwardAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TaxCreditCarryforwardAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TaxCreditCarryforwardAxis_lbl" xml:lang="en-US" id="us-gaap_TaxCreditCarryforwardAxis_lbl">Tax Credit Carryforward [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TaxCreditCarryforwardAxis" xlink:to="us-gaap_TaxCreditCarryforwardAxis_lbl" xlink:title="label: TaxCreditCarryforwardAxis to us-gaap_TaxCreditCarryforwardAxis_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="TechnologyBasedIntangibleAssetsMember" xlink:title="TechnologyBasedIntangibleAssetsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TechnologyBasedIntangibleAssetsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TechnologyBasedIntangibleAssetsMember_lbl" xml:lang="en-US" id="us-gaap_TechnologyBasedIntangibleAssetsMember_lbl">Purchased Technology [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TechnologyBasedIntangibleAssetsMember" xlink:to="us-gaap_TechnologyBasedIntangibleAssetsMember_lbl" xlink:title="label: TechnologyBasedIntangibleAssetsMember to us-gaap_TechnologyBasedIntangibleAssetsMember_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ToolsDiesAndMoldsMember" xlink:label="ToolsDiesAndMoldsMember" xlink:title="ToolsDiesAndMoldsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ToolsDiesAndMoldsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ToolsDiesAndMoldsMember_lbl" xml:lang="en-US" id="us-gaap_ToolsDiesAndMoldsMember_lbl">Tooling [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ToolsDiesAndMoldsMember" xlink:to="us-gaap_ToolsDiesAndMoldsMember_lbl" xlink:title="label: ToolsDiesAndMoldsMember to us-gaap_ToolsDiesAndMoldsMember_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TrademarksMember" xlink:label="TrademarksMember" xlink:title="TrademarksMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TrademarksMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_TrademarksMember_lbl" xml:lang="en-US" id="us-gaap_TrademarksMember_lbl">Trademark [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TrademarksMember" xlink:to="us-gaap_TrademarksMember_lbl" xlink:title="label: TrademarksMember to us-gaap_TrademarksMember_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TrademarksMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TrademarksMember_lbl1" xml:lang="en-US" id="us-gaap_TrademarksMember_lbl1">Trademarks [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TrademarksMember" xlink:to="us-gaap_TrademarksMember_lbl1" xlink:title="label: TrademarksMember to us-gaap_TrademarksMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockTextBlock" xlink:label="TreasuryStockTextBlock" xlink:title="TreasuryStockTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockTextBlock_lbl" xml:lang="en-US" id="us-gaap_TreasuryStockTextBlock_lbl">Stock repurchase program</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockTextBlock" xlink:to="us-gaap_TreasuryStockTextBlock_lbl" xlink:title="label: TreasuryStockTextBlock to us-gaap_TreasuryStockTextBlock_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValue" xlink:label="TreasuryStockValue" xlink:title="TreasuryStockValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockValue_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_TreasuryStockValue_lbl" xml:lang="en-US" id="us-gaap_TreasuryStockValue_lbl">Treasury stock, at cost, 4,044,842 shares</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_lbl" xlink:title="label: TreasuryStockValue to us-gaap_TreasuryStockValue_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockValue_lbl1" xml:lang="en-US" id="us-gaap_TreasuryStockValue_lbl1">Treasury Stock, Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_lbl1" xlink:title="label: TreasuryStockValue to us-gaap_TreasuryStockValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockShares" xlink:label="TreasuryStockShares" xlink:title="TreasuryStockShares" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockShares_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockShares_lbl" xml:lang="en-US" id="us-gaap_TreasuryStockShares_lbl">Treasury stock (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockShares" xlink:to="us-gaap_TreasuryStockShares_lbl" xlink:title="label: TreasuryStockShares to us-gaap_TreasuryStockShares_lbl" />
    <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="TreasuryStockAcquiredAverageCostPerShare" xlink:title="TreasuryStockAcquiredAverageCostPerShare" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl" xml:lang="en-US" id="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl">Average purchase price of common stock repurchased (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockAcquiredAverageCostPerShare" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl" xlink:title="label: TreasuryStockAcquiredAverageCostPerShare to us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl1" xml:lang="en-US" id="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl1">Treasury Stock Acquired, Average Cost Per Share</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockAcquiredAverageCostPerShare" xlink:to="us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl1" xlink:title="label: TreasuryStockAcquiredAverageCostPerShare to us-gaap_TreasuryStockAcquiredAverageCostPerShare_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockMember" xlink:label="TreasuryStockMember" xlink:title="TreasuryStockMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockMember_lbl" xml:lang="en-US" id="us-gaap_TreasuryStockMember_lbl">Treasury Stock [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockMember" xlink:to="us-gaap_TreasuryStockMember_lbl" xlink:title="label: TreasuryStockMember to us-gaap_TreasuryStockMember_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="UnrecognizedTaxBenefits" xlink:title="UnrecognizedTaxBenefits" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefits_lbl">Unrecognized tax benefits, beginning of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_lbl" xlink:title="label: UnrecognizedTaxBenefits to us-gaap_UnrecognizedTaxBenefits_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_UnrecognizedTaxBenefits_lbl1" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefits_lbl1">Unrecognized tax benefits, end of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_lbl1" xlink:title="label: UnrecognizedTaxBenefits to us-gaap_UnrecognizedTaxBenefits_lbl1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UnrecognizedTaxBenefits_lbl2" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefits_lbl2">Unrecognized Tax Benefits</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_lbl2" xlink:title="label: UnrecognizedTaxBenefits to us-gaap_UnrecognizedTaxBenefits_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:label="UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:title="UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_lbl" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_lbl">Lapse of statute of limitations</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:to="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_lbl" xlink:title="label: UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations to us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_lbl1" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_lbl1">Unrecognized Tax Benefits, Reduction Resulting from Lapse of Applicable Statute of Limitations</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:to="us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_lbl1" xlink:title="label: UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations to us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:title="UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl">Unrecognized tax benefits that would favorably affect effective income tax rate if recognized</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:to="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl" xlink:title="label: UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate to us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl1" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl1">Unrecognized Tax Benefits that Would Impact Effective Tax Rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:to="us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl1" xlink:title="label: UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate to us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:label="UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:title="UnrecognizedTaxBenefitsPeriodIncreaseDecrease" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease_lbl" xml:lang="en-US" id="us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease_lbl">Tax positions taken during the current period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:to="us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease_lbl" xlink:title="label: UnrecognizedTaxBenefitsPeriodIncreaseDecrease to us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnsecuredLongTermDebt" xlink:label="UnsecuredLongTermDebt" xlink:title="UnsecuredLongTermDebt" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnsecuredLongTermDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UnsecuredLongTermDebt_lbl" xml:lang="en-US" id="us-gaap_UnsecuredLongTermDebt_lbl">Long-term debt</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnsecuredLongTermDebt" xlink:to="us-gaap_UnsecuredLongTermDebt_lbl" xlink:title="label: UnsecuredLongTermDebt to us-gaap_UnsecuredLongTermDebt_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnusualOrInfrequentItemDomain" xlink:label="UnusualOrInfrequentItemDomain" xlink:title="UnusualOrInfrequentItemDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnusualOrInfrequentItemDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UnusualOrInfrequentItemDomain_lbl" xml:lang="en-US" id="us-gaap_UnusualOrInfrequentItemDomain_lbl">Unusual or Infrequent Item, or Both [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnusualOrInfrequentItemDomain" xlink:to="us-gaap_UnusualOrInfrequentItemDomain_lbl" xlink:title="label: UnusualOrInfrequentItemDomain to us-gaap_UnusualOrInfrequentItemDomain_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnusualOrInfrequentItemLineItems" xlink:label="UnusualOrInfrequentItemLineItems" xlink:title="UnusualOrInfrequentItemLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnusualOrInfrequentItemLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UnusualOrInfrequentItemLineItems_lbl" xml:lang="en-US" id="us-gaap_UnusualOrInfrequentItemLineItems_lbl">Unusual or Infrequent Item, or Both [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnusualOrInfrequentItemLineItems" xlink:to="us-gaap_UnusualOrInfrequentItemLineItems_lbl" xlink:title="label: UnusualOrInfrequentItemLineItems to us-gaap_UnusualOrInfrequentItemLineItems_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnusualOrInfrequentItemAxis" xlink:label="UnusualOrInfrequentItemAxis" xlink:title="UnusualOrInfrequentItemAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnusualOrInfrequentItemAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UnusualOrInfrequentItemAxis_lbl" xml:lang="en-US" id="us-gaap_UnusualOrInfrequentItemAxis_lbl">Unusual or Infrequent Item, or Both [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnusualOrInfrequentItemAxis" xlink:to="us-gaap_UnusualOrInfrequentItemAxis_lbl" xlink:title="label: UnusualOrInfrequentItemAxis to us-gaap_UnusualOrInfrequentItemAxis_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnusualOrInfrequentItemTable" xlink:label="UnusualOrInfrequentItemTable" xlink:title="UnusualOrInfrequentItemTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UnusualOrInfrequentItemTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UnusualOrInfrequentItemTable_lbl" xml:lang="en-US" id="us-gaap_UnusualOrInfrequentItemTable_lbl">Unusual or Infrequent Item, or Both [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UnusualOrInfrequentItemTable" xlink:to="us-gaap_UnusualOrInfrequentItemTable_lbl" xlink:title="label: UnusualOrInfrequentItemTable to us-gaap_UnusualOrInfrequentItemTable_lbl" />
    <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="UseOfEstimates" xlink:title="UseOfEstimates" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UseOfEstimates_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UseOfEstimates_lbl" xml:lang="en-US" id="us-gaap_UseOfEstimates_lbl">Use of estimates</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl" xlink:title="label: UseOfEstimates to us-gaap_UseOfEstimates_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember" xlink:label="ValuationAllowanceOperatingLossCarryforwardsMember" xlink:title="ValuationAllowanceOperatingLossCarryforwardsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember_lbl" xml:lang="en-US" id="us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember_lbl">Foreign Net Operating Loss Carryforwards [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAllowanceOperatingLossCarryforwardsMember" xlink:to="us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember_lbl" xlink:title="label: ValuationAllowanceOperatingLossCarryforwardsMember to us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="ValuationAllowancesAndReservesTypeAxis" xlink:title="ValuationAllowancesAndReservesTypeAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ValuationAllowancesAndReservesTypeAxis_lbl" xml:lang="en-US" id="us-gaap_ValuationAllowancesAndReservesTypeAxis_lbl">Valuation Allowances and Reserves Type [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_lbl" xlink:title="label: ValuationAllowancesAndReservesTypeAxis to us-gaap_ValuationAllowancesAndReservesTypeAxis_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="ValuationAllowancesAndReservesDomain" xlink:title="ValuationAllowancesAndReservesDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ValuationAllowancesAndReservesDomain_lbl" xml:lang="en-US" id="us-gaap_ValuationAllowancesAndReservesDomain_lbl">Valuation Allowances and Reserves [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_lbl" xlink:title="label: ValuationAllowancesAndReservesDomain to us-gaap_ValuationAllowancesAndReservesDomain_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="ValuationAllowancesAndReservesDeductions" xlink:title="ValuationAllowancesAndReservesDeductions" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ValuationAllowancesAndReservesDeductions_lbl" xml:lang="en-US" id="us-gaap_ValuationAllowancesAndReservesDeductions_lbl">Reductions credited to income tax provision</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAllowancesAndReservesDeductions" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions_lbl" xlink:title="label: ValuationAllowancesAndReservesDeductions to us-gaap_ValuationAllowancesAndReservesDeductions_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ValuationAllowancesAndReservesDeductions_lbl1" xml:lang="en-US" id="us-gaap_ValuationAllowancesAndReservesDeductions_lbl1">SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAllowancesAndReservesDeductions" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions_lbl1" xlink:title="label: ValuationAllowancesAndReservesDeductions to us-gaap_ValuationAllowancesAndReservesDeductions_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="ValuationAllowancesAndReservesBalance" xlink:title="ValuationAllowancesAndReservesBalance" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_ValuationAllowancesAndReservesBalance_lbl" xml:lang="en-US" id="us-gaap_ValuationAllowancesAndReservesBalance_lbl">Balance, beginning of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAllowancesAndReservesBalance" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance_lbl" xlink:title="label: ValuationAllowancesAndReservesBalance to us-gaap_ValuationAllowancesAndReservesBalance_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_lbl1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_ValuationAllowancesAndReservesBalance_lbl1" xml:lang="en-US" id="us-gaap_ValuationAllowancesAndReservesBalance_lbl1">Balance, end of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAllowancesAndReservesBalance" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance_lbl1" xlink:title="label: ValuationAllowancesAndReservesBalance to us-gaap_ValuationAllowancesAndReservesBalance_lbl1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ValuationAllowancesAndReservesBalance_lbl2" xml:lang="en-US" id="us-gaap_ValuationAllowancesAndReservesBalance_lbl2">SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAllowancesAndReservesBalance" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance_lbl2" xlink:title="label: ValuationAllowancesAndReservesBalance to us-gaap_ValuationAllowancesAndReservesBalance_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:label="ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:title="ValuationAllowancesAndReservesChargedToCostAndExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl" xml:lang="en-US" id="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl">Additions charged to income tax provision</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:to="us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl" xlink:title="label: ValuationAllowancesAndReservesChargedToCostAndExpense to us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateAxis" xlink:label="VariableRateAxis" xlink:title="VariableRateAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_VariableRateAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_VariableRateAxis_lbl" xml:lang="en-US" id="us-gaap_VariableRateAxis_lbl">Variable Rate [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VariableRateAxis" xlink:to="us-gaap_VariableRateAxis_lbl" xlink:title="label: VariableRateAxis to us-gaap_VariableRateAxis_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="VariableRateDomain" xlink:title="VariableRateDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_VariableRateDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_VariableRateDomain_lbl" xml:lang="en-US" id="us-gaap_VariableRateDomain_lbl">Variable Rate [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VariableRateDomain" xlink:to="us-gaap_VariableRateDomain_lbl" xlink:title="label: VariableRateDomain to us-gaap_VariableRateDomain_lbl" />
    <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="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl">Diluted (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:title="label: WeightedAverageNumberOfDilutedSharesOutstanding to us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl1" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl1">Diluted: Weighted average common and common equivalent shares outstanding (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl1" xlink:title="label: WeightedAverageNumberOfDilutedSharesOutstanding to us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl2" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl2">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl2" xlink:title="label: WeightedAverageNumberOfDilutedSharesOutstanding to us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl2" />
    <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="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl">Basic (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:title="label: WeightedAverageNumberOfSharesOutstandingBasic to us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl1" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl1">Basic: Weighted average common shares outstanding (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl1" xlink:title="label: WeightedAverageNumberOfSharesOutstandingBasic to us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl2" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl2">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl2" xlink:title="label: WeightedAverageNumberOfSharesOutstandingBasic to us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl2" />
    <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="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:title="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl">Shares [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl" xlink:title="label: WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract to us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl1" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl1">Weighted Average Number of Shares Outstanding Reconciliation [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl1" xlink:title="label: WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract to us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="ConsolidationItemsDomain" xlink:title="ConsolidationItemsDomain" />
    <link:label xlink:type="resource" xlink:label="srt_ConsolidationItemsDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ConsolidationItemsDomain_lbl" xml:lang="en-US" id="srt_ConsolidationItemsDomain_lbl">Consolidation Items [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConsolidationItemsDomain" xlink:to="srt_ConsolidationItemsDomain_lbl" xlink:title="label: ConsolidationItemsDomain to srt_ConsolidationItemsDomain_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsAxis" xlink:label="ConsolidationItemsAxis" xlink:title="ConsolidationItemsAxis" />
    <link:label xlink:type="resource" xlink:label="srt_ConsolidationItemsAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ConsolidationItemsAxis_lbl" xml:lang="en-US" id="srt_ConsolidationItemsAxis_lbl">Consolidation Items [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsAxis_lbl" xlink:title="label: ConsolidationItemsAxis to srt_ConsolidationItemsAxis_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_EuropeMember" xlink:label="EuropeMember" xlink:title="EuropeMember" />
    <link:label xlink:type="resource" xlink:label="srt_EuropeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_EuropeMember_lbl" xml:lang="en-US" id="srt_EuropeMember_lbl">Europe [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EuropeMember" xlink:to="srt_EuropeMember_lbl" xlink:title="label: EuropeMember to srt_EuropeMember_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MajorCustomersAxis" xlink:label="MajorCustomersAxis" xlink:title="MajorCustomersAxis" />
    <link:label xlink:type="resource" xlink:label="srt_MajorCustomersAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_MajorCustomersAxis_lbl" xml:lang="en-US" id="srt_MajorCustomersAxis_lbl">Customer [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl" xlink:title="label: MajorCustomersAxis to srt_MajorCustomersAxis_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:label xlink:type="resource" xlink:label="srt_MaximumMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_MaximumMember_lbl" xml:lang="en-US" id="srt_MaximumMember_lbl">Maximum [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MaximumMember" xlink:to="srt_MaximumMember_lbl" xlink:title="label: MaximumMember to srt_MaximumMember_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:label xlink:type="resource" xlink:label="srt_MinimumMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_MinimumMember_lbl" xml:lang="en-US" id="srt_MinimumMember_lbl">Minimum [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MinimumMember" xlink:to="srt_MinimumMember_lbl" xlink:title="label: MinimumMember to srt_MinimumMember_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="NameOfMajorCustomerDomain" xlink:title="NameOfMajorCustomerDomain" />
    <link:label xlink:type="resource" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_NameOfMajorCustomerDomain_lbl" xml:lang="en-US" id="srt_NameOfMajorCustomerDomain_lbl">Customer [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain_lbl" xlink:title="label: NameOfMajorCustomerDomain to srt_NameOfMajorCustomerDomain_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="ProductsAndServicesDomain" xlink:title="ProductsAndServicesDomain" />
    <link:label xlink:type="resource" xlink:label="srt_ProductsAndServicesDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ProductsAndServicesDomain_lbl" xml:lang="en-US" id="srt_ProductsAndServicesDomain_lbl">Product and Service [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain_lbl" xlink:title="label: ProductsAndServicesDomain to srt_ProductsAndServicesDomain_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="ProductOrServiceAxis" xlink:title="ProductOrServiceAxis" />
    <link:label xlink:type="resource" xlink:label="srt_ProductOrServiceAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ProductOrServiceAxis_lbl" xml:lang="en-US" id="srt_ProductOrServiceAxis_lbl">Product and Service [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl" xlink:title="label: ProductOrServiceAxis to srt_ProductOrServiceAxis_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ReportableGeographicalComponentsMember" xlink:label="ReportableGeographicalComponentsMember" xlink:title="ReportableGeographicalComponentsMember" />
    <link:label xlink:type="resource" xlink:label="srt_ReportableGeographicalComponentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ReportableGeographicalComponentsMember_lbl" xml:lang="en-US" id="srt_ReportableGeographicalComponentsMember_lbl">Reportable Geographical Components [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ReportableGeographicalComponentsMember" xlink:to="srt_ReportableGeographicalComponentsMember_lbl" xlink:title="label: ReportableGeographicalComponentsMember to srt_ReportableGeographicalComponentsMember_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:label xlink:type="resource" xlink:label="srt_RangeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_RangeMember_lbl" xml:lang="en-US" id="srt_RangeMember_lbl">Statistical Measurement [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RangeMember" xlink:to="srt_RangeMember_lbl" xlink:title="label: RangeMember to srt_RangeMember_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:label xlink:type="resource" xlink:label="srt_RangeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_RangeAxis_lbl" xml:lang="en-US" id="srt_RangeAxis_lbl">Statistical Measurement [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RangeAxis" xlink:to="srt_RangeAxis_lbl" xlink:title="label: RangeAxis to srt_RangeAxis_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:label xlink:type="resource" xlink:label="srt_SegmentGeographicalDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_SegmentGeographicalDomain_lbl" xml:lang="en-US" id="srt_SegmentGeographicalDomain_lbl">Geographical [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain_lbl" xlink:title="label: SegmentGeographicalDomain to srt_SegmentGeographicalDomain_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:label xlink:type="resource" xlink:label="srt_StatementGeographicalAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_StatementGeographicalAxis_lbl" xml:lang="en-US" id="srt_StatementGeographicalAxis_lbl">Geographical [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl" xlink:title="label: StatementGeographicalAxis to srt_StatementGeographicalAxis_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:title="ValuationAndQualifyingAccountsDisclosureLineItems" />
    <link:label xlink:type="resource" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ValuationAndQualifyingAccountsDisclosureLineItems_lbl" xml:lang="en-US" id="srt_ValuationAndQualifyingAccountsDisclosureLineItems_lbl">Valuation and Qualifying Accounts Disclosure [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureLineItems_lbl" xlink:title="label: ValuationAndQualifyingAccountsDisclosureLineItems to srt_ValuationAndQualifyingAccountsDisclosureLineItems_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="ValuationAndQualifyingAccountsDisclosureTable" xlink:title="ValuationAndQualifyingAccountsDisclosureTable" />
    <link:label xlink:type="resource" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ValuationAndQualifyingAccountsDisclosureTable_lbl" xml:lang="en-US" id="srt_ValuationAndQualifyingAccountsDisclosureTable_lbl">Valuation and Qualifying Accounts Disclosure [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ValuationAndQualifyingAccountsDisclosureTable" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureTable_lbl" xlink:title="label: ValuationAndQualifyingAccountsDisclosureTable to srt_ValuationAndQualifyingAccountsDisclosureTable_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_CA" xlink:label="CA" xlink:title="CA" />
    <link:label xlink:type="resource" xlink:label="country_CA_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="country_CA_lbl" xml:lang="en-US" id="country_CA_lbl">Canada [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CA" xlink:to="country_CA_lbl" xlink:title="label: CA to country_CA_lbl" />
    <link:label xlink:type="resource" xlink:label="country_CA_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="country_CA_lbl1" xml:lang="en-US" id="country_CA_lbl1">CANADA</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CA" xlink:to="country_CA_lbl1" xlink:title="label: CA to country_CA_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:label xlink:type="resource" xlink:label="country_US_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="country_US_lbl" xml:lang="en-US" id="country_US_lbl">United States [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="US" xlink:to="country_US_lbl" xlink:title="label: US to country_US_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CoverAbstract" xlink:label="CoverAbstract" xlink:title="CoverAbstract" />
    <link:label xlink:type="resource" xlink:label="dei_CoverAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_CoverAbstract_lbl" xml:lang="en-US" id="dei_CoverAbstract_lbl">Cover [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:title="label: CoverAbstract to dei_CoverAbstract_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentType" xlink:label="DocumentType" xlink:title="DocumentType" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentType_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentType_lbl" xml:lang="en-US" id="dei_DocumentType_lbl">Document Type</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentType" xlink:to="dei_DocumentType_lbl" xlink:title="label: DocumentType to dei_DocumentType_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentAnnualReport" xlink:label="DocumentAnnualReport" xlink:title="DocumentAnnualReport" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentAnnualReport_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentAnnualReport_lbl" xml:lang="en-US" id="dei_DocumentAnnualReport_lbl">Document Annual Report</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" xlink:title="label: DocumentAnnualReport to dei_DocumentAnnualReport_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentTransitionReport" xlink:label="DocumentTransitionReport" xlink:title="DocumentTransitionReport" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentTransitionReport_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentTransitionReport_lbl" xml:lang="en-US" id="dei_DocumentTransitionReport_lbl">Document Transition Report</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xlink:title="label: DocumentTransitionReport to dei_DocumentTransitionReport_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityInteractiveDataCurrent" xlink:label="EntityInteractiveDataCurrent" xlink:title="EntityInteractiveDataCurrent" />
    <link:label xlink:type="resource" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US" id="dei_EntityInteractiveDataCurrent_lbl">Entity Interactive Data Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xlink:title="label: EntityInteractiveDataCurrent to dei_EntityInteractiveDataCurrent_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AmendmentFlag" xlink:label="AmendmentFlag" xlink:title="AmendmentFlag" />
    <link:label xlink:type="resource" xlink:label="dei_AmendmentFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_AmendmentFlag_lbl" xml:lang="en-US" id="dei_AmendmentFlag_lbl">Amendment Flag</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:title="label: AmendmentFlag to dei_AmendmentFlag_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="IcfrAuditorAttestationFlag" xlink:title="IcfrAuditorAttestationFlag" />
    <link:label xlink:type="resource" xlink:label="dei_IcfrAuditorAttestationFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_IcfrAuditorAttestationFlag_lbl" xml:lang="en-US" id="dei_IcfrAuditorAttestationFlag_lbl">ICFR Auditor Attestation Flag</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IcfrAuditorAttestationFlag" xlink:to="dei_IcfrAuditorAttestationFlag_lbl" xlink:title="label: IcfrAuditorAttestationFlag to dei_IcfrAuditorAttestationFlag_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalYearFocus" xlink:label="DocumentFiscalYearFocus" xlink:title="DocumentFiscalYearFocus" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentFiscalYearFocus_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US" id="dei_DocumentFiscalYearFocus_lbl">Document Fiscal Year Focus</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xlink:title="label: DocumentFiscalYearFocus to dei_DocumentFiscalYearFocus_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="DocumentFiscalPeriodFocus" xlink:title="DocumentFiscalPeriodFocus" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US" id="dei_DocumentFiscalPeriodFocus_lbl">Document Fiscal Period Focus</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xlink:title="label: DocumentFiscalPeriodFocus to dei_DocumentFiscalPeriodFocus_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentPeriodEndDate" xlink:label="DocumentPeriodEndDate" xlink:title="DocumentPeriodEndDate" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentPeriodEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US" id="dei_DocumentPeriodEndDate_lbl">Document Period End Date</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:title="label: DocumentPeriodEndDate to dei_DocumentPeriodEndDate_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityRegistrantName" xlink:label="EntityRegistrantName" xlink:title="EntityRegistrantName" />
    <link:label xlink:type="resource" xlink:label="dei_EntityRegistrantName_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityRegistrantName_lbl" xml:lang="en-US" id="dei_EntityRegistrantName_lbl">Entity Registrant Name</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:title="label: EntityRegistrantName to dei_EntityRegistrantName_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCentralIndexKey" xlink:label="EntityCentralIndexKey" xlink:title="EntityCentralIndexKey" />
    <link:label xlink:type="resource" xlink:label="dei_EntityCentralIndexKey_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityCentralIndexKey_lbl" xml:lang="en-US" id="dei_EntityCentralIndexKey_lbl">Entity Central Index Key</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:title="label: EntityCentralIndexKey to dei_EntityCentralIndexKey_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFileNumber" xlink:label="EntityFileNumber" xlink:title="EntityFileNumber" />
    <link:label xlink:type="resource" xlink:label="dei_EntityFileNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityFileNumber_lbl" xml:lang="en-US" id="dei_EntityFileNumber_lbl">Entity File Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:title="label: EntityFileNumber to dei_EntityFileNumber_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityTaxIdentificationNumber" xlink:label="EntityTaxIdentificationNumber" xlink:title="EntityTaxIdentificationNumber" />
    <link:label xlink:type="resource" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US" id="dei_EntityTaxIdentificationNumber_lbl">Entity Tax Identification Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xlink:title="label: EntityTaxIdentificationNumber to dei_EntityTaxIdentificationNumber_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="EntityIncorporationStateCountryCode" xlink:title="EntityIncorporationStateCountryCode" />
    <link:label xlink:type="resource" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US" id="dei_EntityIncorporationStateCountryCode_lbl">Entity Incorporation, State or Country Code</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xlink:title="label: EntityIncorporationStateCountryCode to dei_EntityIncorporationStateCountryCode_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CurrentFiscalYearEndDate" xlink:label="CurrentFiscalYearEndDate" xlink:title="CurrentFiscalYearEndDate" />
    <link:label xlink:type="resource" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US" id="dei_CurrentFiscalYearEndDate_lbl">Current Fiscal Year End Date</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xlink:title="label: CurrentFiscalYearEndDate to dei_CurrentFiscalYearEndDate_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="EntityWellKnownSeasonedIssuer" xlink:title="EntityWellKnownSeasonedIssuer" />
    <link:label xlink:type="resource" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US" id="dei_EntityWellKnownSeasonedIssuer_lbl">Entity Well-known Seasoned Issuer</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:title="label: EntityWellKnownSeasonedIssuer to dei_EntityWellKnownSeasonedIssuer_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityVoluntaryFilers" xlink:label="EntityVoluntaryFilers" xlink:title="EntityVoluntaryFilers" />
    <link:label xlink:type="resource" xlink:label="dei_EntityVoluntaryFilers_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US" id="dei_EntityVoluntaryFilers_lbl">Entity Voluntary Filers</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xlink:title="label: EntityVoluntaryFilers to dei_EntityVoluntaryFilers_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCurrentReportingStatus" xlink:label="EntityCurrentReportingStatus" xlink:title="EntityCurrentReportingStatus" />
    <link:label xlink:type="resource" xlink:label="dei_EntityCurrentReportingStatus_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US" id="dei_EntityCurrentReportingStatus_lbl">Entity Current Reporting Status</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xlink:title="label: EntityCurrentReportingStatus to dei_EntityCurrentReportingStatus_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityShellCompany" xlink:label="EntityShellCompany" xlink:title="EntityShellCompany" />
    <link:label xlink:type="resource" xlink:label="dei_EntityShellCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityShellCompany_lbl" xml:lang="en-US" id="dei_EntityShellCompany_lbl">Entity Shell Company</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xlink:title="label: EntityShellCompany to dei_EntityShellCompany_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFilerCategory" xlink:label="EntityFilerCategory" xlink:title="EntityFilerCategory" />
    <link:label xlink:type="resource" xlink:label="dei_EntityFilerCategory_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityFilerCategory_lbl" xml:lang="en-US" id="dei_EntityFilerCategory_lbl">Entity Filer Category</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xlink:title="label: EntityFilerCategory to dei_EntityFilerCategory_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntitySmallBusiness" xlink:label="EntitySmallBusiness" xlink:title="EntitySmallBusiness" />
    <link:label xlink:type="resource" xlink:label="dei_EntitySmallBusiness_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntitySmallBusiness_lbl" xml:lang="en-US" id="dei_EntitySmallBusiness_lbl">Entity Small Business</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xlink:title="label: EntitySmallBusiness to dei_EntitySmallBusiness_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityEmergingGrowthCompany" xlink:label="EntityEmergingGrowthCompany" xlink:title="EntityEmergingGrowthCompany" />
    <link:label xlink:type="resource" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US" id="dei_EntityEmergingGrowthCompany_lbl">Entity Emerging Growth Company</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:title="label: EntityEmergingGrowthCompany to dei_EntityEmergingGrowthCompany_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityPublicFloat" xlink:label="EntityPublicFloat" xlink:title="EntityPublicFloat" />
    <link:label xlink:type="resource" xlink:label="dei_EntityPublicFloat_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityPublicFloat_lbl" xml:lang="en-US" id="dei_EntityPublicFloat_lbl">Entity Public Float</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" xlink:title="label: EntityPublicFloat to dei_EntityPublicFloat_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine1" xlink:label="EntityAddressAddressLine1" xlink:title="EntityAddressAddressLine1" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressAddressLine1_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US" id="dei_EntityAddressAddressLine1_lbl">Entity Address, Address Line One</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xlink:title="label: EntityAddressAddressLine1 to dei_EntityAddressAddressLine1_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine2" xlink:label="EntityAddressAddressLine2" xlink:title="EntityAddressAddressLine2" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressAddressLine2_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressAddressLine2_lbl" xml:lang="en-US" id="dei_EntityAddressAddressLine2_lbl">Entity Address, Address Line Two</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" xlink:title="label: EntityAddressAddressLine2 to dei_EntityAddressAddressLine2_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressCityOrTown" xlink:label="EntityAddressCityOrTown" xlink:title="EntityAddressCityOrTown" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressCityOrTown_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US" id="dei_EntityAddressCityOrTown_lbl">Entity Address, City or Town</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:title="label: EntityAddressCityOrTown to dei_EntityAddressCityOrTown_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressStateOrProvince" xlink:label="EntityAddressStateOrProvince" xlink:title="EntityAddressStateOrProvince" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressStateOrProvince_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US" id="dei_EntityAddressStateOrProvince_lbl">Entity Address, State or Province</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xlink:title="label: EntityAddressStateOrProvince to dei_EntityAddressStateOrProvince_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressPostalZipCode" xlink:label="EntityAddressPostalZipCode" xlink:title="EntityAddressPostalZipCode" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressPostalZipCode_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US" id="dei_EntityAddressPostalZipCode_lbl">Entity Address, Postal Zip Code</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:title="label: EntityAddressPostalZipCode to dei_EntityAddressPostalZipCode_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CityAreaCode" xlink:label="CityAreaCode" xlink:title="CityAreaCode" />
    <link:label xlink:type="resource" xlink:label="dei_CityAreaCode_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_CityAreaCode_lbl" xml:lang="en-US" id="dei_CityAreaCode_lbl">City Area Code</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xlink:title="label: CityAreaCode to dei_CityAreaCode_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_LocalPhoneNumber" xlink:label="LocalPhoneNumber" xlink:title="LocalPhoneNumber" />
    <link:label xlink:type="resource" xlink:label="dei_LocalPhoneNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_LocalPhoneNumber_lbl" xml:lang="en-US" id="dei_LocalPhoneNumber_lbl">Local Phone Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xlink:title="label: LocalPhoneNumber to dei_LocalPhoneNumber_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_Security12bTitle" xlink:label="Security12bTitle" xlink:title="Security12bTitle" />
    <link:label xlink:type="resource" xlink:label="dei_Security12bTitle_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_Security12bTitle_lbl" xml:lang="en-US" id="dei_Security12bTitle_lbl">Title of 12(b) Security</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xlink:title="label: Security12bTitle to dei_Security12bTitle_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_TradingSymbol" xlink:label="TradingSymbol" xlink:title="TradingSymbol" />
    <link:label xlink:type="resource" xlink:label="dei_TradingSymbol_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_TradingSymbol_lbl" xml:lang="en-US" id="dei_TradingSymbol_lbl">Trading Symbol</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:title="label: TradingSymbol to dei_TradingSymbol_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SecurityExchangeName" xlink:label="SecurityExchangeName" xlink:title="SecurityExchangeName" />
    <link:label xlink:type="resource" xlink:label="dei_SecurityExchangeName_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_SecurityExchangeName_lbl" xml:lang="en-US" id="dei_SecurityExchangeName_lbl">Security Exchange Name</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:title="label: SecurityExchangeName to dei_SecurityExchangeName_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="EntityCommonStockSharesOutstanding" xlink:title="EntityCommonStockSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US" id="dei_EntityCommonStockSharesOutstanding_lbl">Entity Common Stock, Shares Outstanding</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xlink:title="label: EntityCommonStockSharesOutstanding to dei_EntityCommonStockSharesOutstanding_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorName" xlink:label="AuditorName" xlink:title="AuditorName" />
    <link:label xlink:type="resource" xlink:label="dei_AuditorName_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_AuditorName_lbl" xml:lang="en-US" id="dei_AuditorName_lbl">Auditor Name</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AuditorName" xlink:to="dei_AuditorName_lbl" xlink:title="label: AuditorName to dei_AuditorName_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorLocation" xlink:label="AuditorLocation" xlink:title="AuditorLocation" />
    <link:label xlink:type="resource" xlink:label="dei_AuditorLocation_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_AuditorLocation_lbl" xml:lang="en-US" id="dei_AuditorLocation_lbl">Auditor Location</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AuditorLocation" xlink:to="dei_AuditorLocation_lbl" xlink:title="label: AuditorLocation to dei_AuditorLocation_lbl" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorFirmId" xlink:label="AuditorFirmId" xlink:title="AuditorFirmId" />
    <link:label xlink:type="resource" xlink:label="dei_AuditorFirmId_lbl" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_AuditorFirmId_lbl" xml:lang="en-US" id="dei_AuditorFirmId_lbl">Auditor Firm ID</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AuditorFirmId" xlink:to="dei_AuditorFirmId_lbl" xlink:title="label: AuditorFirmId to dei_AuditorFirmId_lbl" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_EquityIncentivePlan2014Member" xlink:label="EquityIncentivePlan2014Member" xlink:title="EquityIncentivePlan2014Member" />
    <link:label xlink:type="resource" xlink:label="tact_EquityIncentivePlan2014Member_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_EquityIncentivePlan2014Member_lbl" xml:lang="en-US" id="tact_EquityIncentivePlan2014Member_lbl">Stock incentive plan which provides for awards to executives, key employees, directors and consultants.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityIncentivePlan2014Member" xlink:to="tact_EquityIncentivePlan2014Member_lbl" xlink:title="label: EquityIncentivePlan2014Member to tact_EquityIncentivePlan2014Member_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_EquityIncentivePlan2014Member_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_EquityIncentivePlan2014Member_lbl1" xml:lang="en-US" id="tact_EquityIncentivePlan2014Member_lbl1">Equity Incentive Plan 2014 [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityIncentivePlan2014Member" xlink:to="tact_EquityIncentivePlan2014Member_lbl1" xlink:title="label: EquityIncentivePlan2014Member to tact_EquityIncentivePlan2014Member_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_EquityIncentivePlan2014Member_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_EquityIncentivePlan2014Member_lbl2" xml:lang="en-US" id="tact_EquityIncentivePlan2014Member_lbl2">2014 Equity Incentive Plan [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityIncentivePlan2014Member" xlink:to="tact_EquityIncentivePlan2014Member_lbl2" xlink:title="label: EquityIncentivePlan2014Member to tact_EquityIncentivePlan2014Member_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_GainFromEmployeeRetentionCredit" xlink:label="GainFromEmployeeRetentionCredit" xlink:title="GainFromEmployeeRetentionCredit" />
    <link:label xlink:type="resource" xlink:label="tact_GainFromEmployeeRetentionCredit_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_GainFromEmployeeRetentionCredit_lbl" xml:lang="en-US" id="tact_GainFromEmployeeRetentionCredit_lbl">The amount of gain from the Employee Retention Credit, a refundable tax credit against certain employment taxes equal to 50% of the qualified wages an eligible employer pays to employees after March 12, 2020, and before January 1, 2021.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GainFromEmployeeRetentionCredit" xlink:to="tact_GainFromEmployeeRetentionCredit_lbl" xlink:title="label: GainFromEmployeeRetentionCredit to tact_GainFromEmployeeRetentionCredit_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_GainFromEmployeeRetentionCredit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_GainFromEmployeeRetentionCredit_lbl1" xml:lang="en-US" id="tact_GainFromEmployeeRetentionCredit_lbl1">Gain from Employee Retention Credit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GainFromEmployeeRetentionCredit" xlink:to="tact_GainFromEmployeeRetentionCredit_lbl1" xlink:title="label: GainFromEmployeeRetentionCredit to tact_GainFromEmployeeRetentionCredit_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_GainFromEmployeeRetentionCredit_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_GainFromEmployeeRetentionCredit_lbl2" xml:lang="en-US" id="tact_GainFromEmployeeRetentionCredit_lbl2">Gain from employee retention credit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GainFromEmployeeRetentionCredit" xlink:to="tact_GainFromEmployeeRetentionCredit_lbl2" xlink:title="label: GainFromEmployeeRetentionCredit to tact_GainFromEmployeeRetentionCredit_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable" xlink:label="IncreaseDecreaseInEmployeeRetentionCreditReceivable" xlink:title="IncreaseDecreaseInEmployeeRetentionCreditReceivable" />
    <link:label xlink:type="resource" xlink:label="tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable_lbl" xml:lang="en-US" id="tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable_lbl">Amount of increase (decrease) in current assets classified as employee retention credit receivable.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInEmployeeRetentionCreditReceivable" xlink:to="tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable_lbl" xlink:title="label: IncreaseDecreaseInEmployeeRetentionCreditReceivable to tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable_lbl1" xml:lang="en-US" id="tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable_lbl1">Increase (Decrease) in Employee Retention Credit Receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInEmployeeRetentionCreditReceivable" xlink:to="tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable_lbl1" xlink:title="label: IncreaseDecreaseInEmployeeRetentionCreditReceivable to tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable_lbl2" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable_lbl2" xml:lang="en-US" id="tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable_lbl2">Employee retention credit receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInEmployeeRetentionCreditReceivable" xlink:to="tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable_lbl2" xlink:title="label: IncreaseDecreaseInEmployeeRetentionCreditReceivable to tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PaymentsForProceedsFromNotesReceivable" xlink:label="PaymentsForProceedsFromNotesReceivable" xlink:title="PaymentsForProceedsFromNotesReceivable" />
    <link:label xlink:type="resource" xlink:label="tact_PaymentsForProceedsFromNotesReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_PaymentsForProceedsFromNotesReceivable_lbl" xml:lang="en-US" id="tact_PaymentsForProceedsFromNotesReceivable_lbl">The net amount associated with payments for (receipts from) principal collections from a borrowing supported by a written promise to pay an obligation.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsForProceedsFromNotesReceivable" xlink:to="tact_PaymentsForProceedsFromNotesReceivable_lbl" xlink:title="label: PaymentsForProceedsFromNotesReceivable to tact_PaymentsForProceedsFromNotesReceivable_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_PaymentsForProceedsFromNotesReceivable_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_PaymentsForProceedsFromNotesReceivable_lbl1" xml:lang="en-US" id="tact_PaymentsForProceedsFromNotesReceivable_lbl1">Payments for (Proceeds from) Notes Receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsForProceedsFromNotesReceivable" xlink:to="tact_PaymentsForProceedsFromNotesReceivable_lbl1" xlink:title="label: PaymentsForProceedsFromNotesReceivable to tact_PaymentsForProceedsFromNotesReceivable_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_PaymentsForProceedsFromNotesReceivable_lbl2" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="tact_PaymentsForProceedsFromNotesReceivable_lbl2" xml:lang="en-US" id="tact_PaymentsForProceedsFromNotesReceivable_lbl2">Collection (issuance) of note receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsForProceedsFromNotesReceivable" xlink:to="tact_PaymentsForProceedsFromNotesReceivable_lbl2" xlink:title="label: PaymentsForProceedsFromNotesReceivable to tact_PaymentsForProceedsFromNotesReceivable_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl">The exercise price of awards granted under the plans as a percentage of the fair market value of the Company's common stock at the date of grant.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl1" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Exercise Price as Percentage of Fair Market Value of Common Stock at Date of Grant</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl2" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl2">Exercise price as a percentage of fair market value of common stock at date of grant</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl2" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl">The number of stock incentive plans.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl1" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Number of stock incentive plans</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl2" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl2">Number of stock incentive plans</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl2" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_FurnitureAndOfficeEquipmentMember" xlink:label="FurnitureAndOfficeEquipmentMember" xlink:title="FurnitureAndOfficeEquipmentMember" />
    <link:label xlink:type="resource" xlink:label="tact_FurnitureAndOfficeEquipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_FurnitureAndOfficeEquipmentMember_lbl" xml:lang="en-US" id="tact_FurnitureAndOfficeEquipmentMember_lbl">Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities and tangible personal property used in an office setting. Examples include, but are not limited to, computers, copiers and fax machine.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FurnitureAndOfficeEquipmentMember" xlink:to="tact_FurnitureAndOfficeEquipmentMember_lbl" xlink:title="label: FurnitureAndOfficeEquipmentMember to tact_FurnitureAndOfficeEquipmentMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_FurnitureAndOfficeEquipmentMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_FurnitureAndOfficeEquipmentMember_lbl1" xml:lang="en-US" id="tact_FurnitureAndOfficeEquipmentMember_lbl1">Furniture and Office Equipment [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FurnitureAndOfficeEquipmentMember" xlink:to="tact_FurnitureAndOfficeEquipmentMember_lbl1" xlink:title="label: FurnitureAndOfficeEquipmentMember to tact_FurnitureAndOfficeEquipmentMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_FurnitureAndOfficeEquipmentMember_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_FurnitureAndOfficeEquipmentMember_lbl2" xml:lang="en-US" id="tact_FurnitureAndOfficeEquipmentMember_lbl2">Furniture and Office Equipment [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FurnitureAndOfficeEquipmentMember" xlink:to="tact_FurnitureAndOfficeEquipmentMember_lbl2" xlink:title="label: FurnitureAndOfficeEquipmentMember to tact_FurnitureAndOfficeEquipmentMember_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ComputerSoftwareAndEquipmentMember" xlink:label="ComputerSoftwareAndEquipmentMember" xlink:title="ComputerSoftwareAndEquipmentMember" />
    <link:label xlink:type="resource" xlink:label="tact_ComputerSoftwareAndEquipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ComputerSoftwareAndEquipmentMember_lbl" xml:lang="en-US" id="tact_ComputerSoftwareAndEquipmentMember_lbl">Computer software, including but not limited to, acquired and internally developed computer software, and long-lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComputerSoftwareAndEquipmentMember" xlink:to="tact_ComputerSoftwareAndEquipmentMember_lbl" xlink:title="label: ComputerSoftwareAndEquipmentMember to tact_ComputerSoftwareAndEquipmentMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ComputerSoftwareAndEquipmentMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ComputerSoftwareAndEquipmentMember_lbl1" xml:lang="en-US" id="tact_ComputerSoftwareAndEquipmentMember_lbl1">Computer Software and Equipment [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComputerSoftwareAndEquipmentMember" xlink:to="tact_ComputerSoftwareAndEquipmentMember_lbl1" xlink:title="label: ComputerSoftwareAndEquipmentMember to tact_ComputerSoftwareAndEquipmentMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ComputerSoftwareAndEquipmentMember_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_ComputerSoftwareAndEquipmentMember_lbl2" xml:lang="en-US" id="tact_ComputerSoftwareAndEquipmentMember_lbl2">Computer Software and Equipment [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComputerSoftwareAndEquipmentMember" xlink:to="tact_ComputerSoftwareAndEquipmentMember_lbl2" xlink:title="label: ComputerSoftwareAndEquipmentMember to tact_ComputerSoftwareAndEquipmentMember_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_FixedAssetsExcludingConstructionInProcessMember" xlink:label="FixedAssetsExcludingConstructionInProcessMember" xlink:title="FixedAssetsExcludingConstructionInProcessMember" />
    <link:label xlink:type="resource" xlink:label="tact_FixedAssetsExcludingConstructionInProcessMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_FixedAssetsExcludingConstructionInProcessMember_lbl" xml:lang="en-US" id="tact_FixedAssetsExcludingConstructionInProcessMember_lbl">Fixed assets excluding construction in-process. Includes tooling, machinery and equipment, furniture and office equipment, computer software and equipment, and leasehold improvements.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FixedAssetsExcludingConstructionInProcessMember" xlink:to="tact_FixedAssetsExcludingConstructionInProcessMember_lbl" xlink:title="label: FixedAssetsExcludingConstructionInProcessMember to tact_FixedAssetsExcludingConstructionInProcessMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_FixedAssetsExcludingConstructionInProcessMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_FixedAssetsExcludingConstructionInProcessMember_lbl1" xml:lang="en-US" id="tact_FixedAssetsExcludingConstructionInProcessMember_lbl1">Fixed Assets, Excluding Construction in-Process [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FixedAssetsExcludingConstructionInProcessMember" xlink:to="tact_FixedAssetsExcludingConstructionInProcessMember_lbl1" xlink:title="label: FixedAssetsExcludingConstructionInProcessMember to tact_FixedAssetsExcludingConstructionInProcessMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_FixedAssetsExcludingConstructionInProcessMember_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_FixedAssetsExcludingConstructionInProcessMember_lbl2" xml:lang="en-US" id="tact_FixedAssetsExcludingConstructionInProcessMember_lbl2">Fixed Assets, Excluding Construction in-Process [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FixedAssetsExcludingConstructionInProcessMember" xlink:to="tact_FixedAssetsExcludingConstructionInProcessMember_lbl2" xlink:title="label: FixedAssetsExcludingConstructionInProcessMember to tact_FixedAssetsExcludingConstructionInProcessMember_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_DescriptionOfBusinessAbstract" xlink:label="DescriptionOfBusinessAbstract" xlink:title="DescriptionOfBusinessAbstract" />
    <link:label xlink:type="resource" xlink:label="tact_DescriptionOfBusinessAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DescriptionOfBusinessAbstract_lbl1" xml:lang="en-US" id="tact_DescriptionOfBusinessAbstract_lbl1">Description of business [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DescriptionOfBusinessAbstract" xlink:to="tact_DescriptionOfBusinessAbstract_lbl1" xlink:title="label: DescriptionOfBusinessAbstract to tact_DescriptionOfBusinessAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_NumberOfSoftwareSolutions" xlink:label="NumberOfSoftwareSolutions" xlink:title="NumberOfSoftwareSolutions" />
    <link:label xlink:type="resource" xlink:label="tact_NumberOfSoftwareSolutions_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_NumberOfSoftwareSolutions_lbl" xml:lang="en-US" id="tact_NumberOfSoftwareSolutions_lbl">Number of software solutions from the after-market side of the business.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfSoftwareSolutions" xlink:to="tact_NumberOfSoftwareSolutions_lbl" xlink:title="label: NumberOfSoftwareSolutions to tact_NumberOfSoftwareSolutions_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_NumberOfSoftwareSolutions_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_NumberOfSoftwareSolutions_lbl1" xml:lang="en-US" id="tact_NumberOfSoftwareSolutions_lbl1">Number of software solutions</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfSoftwareSolutions" xlink:to="tact_NumberOfSoftwareSolutions_lbl1" xlink:title="label: NumberOfSoftwareSolutions to tact_NumberOfSoftwareSolutions_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_NumberOfSoftwareSolutions_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_NumberOfSoftwareSolutions_lbl2" xml:lang="en-US" id="tact_NumberOfSoftwareSolutions_lbl2">Number of software solutions from the after-market side of the business</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfSoftwareSolutions" xlink:to="tact_NumberOfSoftwareSolutions_lbl2" xlink:title="label: NumberOfSoftwareSolutions to tact_NumberOfSoftwareSolutions_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_Covid19Member" xlink:label="Covid19Member" xlink:title="Covid19Member" />
    <link:label xlink:type="resource" xlink:label="tact_Covid19Member_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_Covid19Member_lbl" xml:lang="en-US" id="tact_Covid19Member_lbl">The novel coronavirus (COVID-19) categorized as a pandemic by the World Health Organization.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Covid19Member" xlink:to="tact_Covid19Member_lbl" xlink:title="label: Covid19Member to tact_Covid19Member_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_Covid19Member_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_Covid19Member_lbl1" xml:lang="en-US" id="tact_Covid19Member_lbl1">Covid-19 [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Covid19Member" xlink:to="tact_Covid19Member_lbl1" xlink:title="label: Covid19Member to tact_Covid19Member_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_Covid19Member_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_Covid19Member_lbl2" xml:lang="en-US" id="tact_Covid19Member_lbl2">COVID-19 [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Covid19Member" xlink:to="tact_Covid19Member_lbl2" xlink:title="label: Covid19Member to tact_Covid19Member_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PercentageReductionInWorkforce" xlink:label="PercentageReductionInWorkforce" xlink:title="PercentageReductionInWorkforce" />
    <link:label xlink:type="resource" xlink:label="tact_PercentageReductionInWorkforce_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_PercentageReductionInWorkforce_lbl" xml:lang="en-US" id="tact_PercentageReductionInWorkforce_lbl">The percentage reduction in the Company's workforce due to employee terminations and temporary furloughs.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PercentageReductionInWorkforce" xlink:to="tact_PercentageReductionInWorkforce_lbl" xlink:title="label: PercentageReductionInWorkforce to tact_PercentageReductionInWorkforce_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_PercentageReductionInWorkforce_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_PercentageReductionInWorkforce_lbl1" xml:lang="en-US" id="tact_PercentageReductionInWorkforce_lbl1">Percentage reduction in workforce</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PercentageReductionInWorkforce" xlink:to="tact_PercentageReductionInWorkforce_lbl1" xlink:title="label: PercentageReductionInWorkforce to tact_PercentageReductionInWorkforce_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_PercentageReductionInWorkforce_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_PercentageReductionInWorkforce_lbl2" xml:lang="en-US" id="tact_PercentageReductionInWorkforce_lbl2">Percentage reduction in workforce</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PercentageReductionInWorkforce" xlink:to="tact_PercentageReductionInWorkforce_lbl2" xlink:title="label: PercentageReductionInWorkforce to tact_PercentageReductionInWorkforce_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PercentageReductionInSalaries" xlink:label="PercentageReductionInSalaries" xlink:title="PercentageReductionInSalaries" />
    <link:label xlink:type="resource" xlink:label="tact_PercentageReductionInSalaries_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_PercentageReductionInSalaries_lbl" xml:lang="en-US" id="tact_PercentageReductionInSalaries_lbl">The percentage reduction in salaries of all salaried, non-commissioned employees, including executive officers.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PercentageReductionInSalaries" xlink:to="tact_PercentageReductionInSalaries_lbl" xlink:title="label: PercentageReductionInSalaries to tact_PercentageReductionInSalaries_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_PercentageReductionInSalaries_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_PercentageReductionInSalaries_lbl1" xml:lang="en-US" id="tact_PercentageReductionInSalaries_lbl1">Percentage reduction in salaries</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PercentageReductionInSalaries" xlink:to="tact_PercentageReductionInSalaries_lbl1" xlink:title="label: PercentageReductionInSalaries to tact_PercentageReductionInSalaries_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_PercentageReductionInSalaries_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_PercentageReductionInSalaries_lbl2" xml:lang="en-US" id="tact_PercentageReductionInSalaries_lbl2">Percentage reduction in salaries of all salaried, non-commissioned employees, including executive officers</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PercentageReductionInSalaries" xlink:to="tact_PercentageReductionInSalaries_lbl2" xlink:title="label: PercentageReductionInSalaries to tact_PercentageReductionInSalaries_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PercentageReductionInCashRetainerFees" xlink:label="PercentageReductionInCashRetainerFees" xlink:title="PercentageReductionInCashRetainerFees" />
    <link:label xlink:type="resource" xlink:label="tact_PercentageReductionInCashRetainerFees_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_PercentageReductionInCashRetainerFees_lbl" xml:lang="en-US" id="tact_PercentageReductionInCashRetainerFees_lbl">The percentage reduction in cash retainer fees for all non-employee directors.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PercentageReductionInCashRetainerFees" xlink:to="tact_PercentageReductionInCashRetainerFees_lbl" xlink:title="label: PercentageReductionInCashRetainerFees to tact_PercentageReductionInCashRetainerFees_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_PercentageReductionInCashRetainerFees_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_PercentageReductionInCashRetainerFees_lbl1" xml:lang="en-US" id="tact_PercentageReductionInCashRetainerFees_lbl1">Percentage reduction in cash retainer fees</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PercentageReductionInCashRetainerFees" xlink:to="tact_PercentageReductionInCashRetainerFees_lbl1" xlink:title="label: PercentageReductionInCashRetainerFees to tact_PercentageReductionInCashRetainerFees_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_PercentageReductionInCashRetainerFees_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_PercentageReductionInCashRetainerFees_lbl2" xml:lang="en-US" id="tact_PercentageReductionInCashRetainerFees_lbl2">Percentage reduction in cash retainer fees for all non-employee directors</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PercentageReductionInCashRetainerFees" xlink:to="tact_PercentageReductionInCashRetainerFees_lbl2" xlink:title="label: PercentageReductionInCashRetainerFees to tact_PercentageReductionInCashRetainerFees_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:label="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="RevolvingCreditFacilitySienaLendingGroupLlcMember" />
    <link:label xlink:type="resource" xlink:label="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl" xml:lang="en-US" id="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl">Arrangement with Siena Lending Group LLC that provides a revolving credit line, subject to a borrowing base.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:to="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl" xlink:title="label: RevolvingCreditFacilitySienaLendingGroupLlcMember to tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl1" xml:lang="en-US" id="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl1">Revolving Credit Facility, Siena Lending Group Llc [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:to="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl1" xlink:title="label: RevolvingCreditFacilitySienaLendingGroupLlcMember to tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl2" xml:lang="en-US" id="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl2">Revolving Credit Facility [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:to="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl2" xlink:title="label: RevolvingCreditFacilitySienaLendingGroupLlcMember to tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PaycheckProtectionProgramLoanMember" xlink:label="PaycheckProtectionProgramLoanMember" xlink:title="PaycheckProtectionProgramLoanMember" />
    <link:label xlink:type="resource" xlink:label="tact_PaycheckProtectionProgramLoanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_PaycheckProtectionProgramLoanMember_lbl" xml:lang="en-US" id="tact_PaycheckProtectionProgramLoanMember_lbl">Paycheck Protection Program loans are authorized by the Coronavirus Aid, Relief and Economic Security Act, Section 7(a)(36) of the Small Business Act (the "CARES Act") to provide forgivable loans to small businesses.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaycheckProtectionProgramLoanMember" xlink:to="tact_PaycheckProtectionProgramLoanMember_lbl" xlink:title="label: PaycheckProtectionProgramLoanMember to tact_PaycheckProtectionProgramLoanMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_PaycheckProtectionProgramLoanMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_PaycheckProtectionProgramLoanMember_lbl1" xml:lang="en-US" id="tact_PaycheckProtectionProgramLoanMember_lbl1">Paycheck Protection Program Loan [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaycheckProtectionProgramLoanMember" xlink:to="tact_PaycheckProtectionProgramLoanMember_lbl1" xlink:title="label: PaycheckProtectionProgramLoanMember to tact_PaycheckProtectionProgramLoanMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_PaycheckProtectionProgramLoanMember_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_PaycheckProtectionProgramLoanMember_lbl2" xml:lang="en-US" id="tact_PaycheckProtectionProgramLoanMember_lbl2">PPP Loan [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaycheckProtectionProgramLoanMember" xlink:to="tact_PaycheckProtectionProgramLoanMember_lbl2" xlink:title="label: PaycheckProtectionProgramLoanMember to tact_PaycheckProtectionProgramLoanMember_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_NumberOfManufacturers" xlink:label="NumberOfManufacturers" xlink:title="NumberOfManufacturers" />
    <link:label xlink:type="resource" xlink:label="tact_NumberOfManufacturers_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_NumberOfManufacturers_lbl" xml:lang="en-US" id="tact_NumberOfManufacturers_lbl">The number of manufacturers located in China and Thailand.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfManufacturers" xlink:to="tact_NumberOfManufacturers_lbl" xlink:title="label: NumberOfManufacturers to tact_NumberOfManufacturers_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_NumberOfManufacturers_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_NumberOfManufacturers_lbl1" xml:lang="en-US" id="tact_NumberOfManufacturers_lbl1">Number of manufacturers</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfManufacturers" xlink:to="tact_NumberOfManufacturers_lbl1" xlink:title="label: NumberOfManufacturers to tact_NumberOfManufacturers_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_NumberOfManufacturers_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_NumberOfManufacturers_lbl2" xml:lang="en-US" id="tact_NumberOfManufacturers_lbl2">Number of manufacturers in China and Thailand</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NumberOfManufacturers" xlink:to="tact_NumberOfManufacturers_lbl2" xlink:title="label: NumberOfManufacturers to tact_NumberOfManufacturers_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" xlink:label="EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" xlink:title="EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" />
    <link:label xlink:type="resource" xlink:label="tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent_lbl" xml:lang="en-US" id="tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent_lbl">Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to miscellaneous permanent items.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" xlink:to="tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent_lbl" xlink:title="label: EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent to tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent_lbl1" xml:lang="en-US" id="tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent_lbl1">Effective Income Tax Rate Reconciliation, Miscellaneous Permanent Items, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" xlink:to="tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent_lbl1" xlink:title="label: EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent to tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent_lbl2" xml:lang="en-US" id="tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent_lbl2">Miscellaneous permanent items</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" xlink:to="tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent_lbl2" xlink:title="label: EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent to tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:label="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:title="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl">The percentage of eligible raw material included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage to tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl1" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl1">Debt Instrument, Financial Covenant, Eligible Inventory, Raw Material, Percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl1" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage to tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl2" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl2">Percentage of eligible raw material</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl2" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage to tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:label="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:title="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl">The percentage of eligible accounts receivable included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl" xlink:title="label: DebtInstrumentFinancialCovenantEligibleAccountsReceivable to tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl1" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl1">Debt Instrument, Financial Covenant, Eligible Accounts Receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl1" xlink:title="label: DebtInstrumentFinancialCovenantEligibleAccountsReceivable to tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl2" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl2">Percentage of eligible accounts receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl2" xlink:title="label: DebtInstrumentFinancialCovenantEligibleAccountsReceivable to tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:label="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:title="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl">The percentage of eligible finished goods inventory included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage to tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl1" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl1">Debt Instrument, Financial Covenant, Eligible Inventory, Finished Goods Inventory, Percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl1" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage to tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl2" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl2">Percentage of eligible finished goods inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl2" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage to tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventory" xlink:label="DebtInstrumentFinancialCovenantEligibleInventory" xlink:title="DebtInstrumentFinancialCovenantEligibleInventory" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl">The minimum value of eligible raw material and finished goods inventory included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventory" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventory to tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl1" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl1">Debt Instrument, Financial Covenant, Eligible Inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventory" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl1" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventory to tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl2" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl2">Eligible inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventory" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl2" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventory to tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PacificRimMember" xlink:label="PacificRimMember" xlink:title="PacificRimMember" />
    <link:label xlink:type="resource" xlink:label="tact_PacificRimMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_PacificRimMember_lbl" xml:lang="en-US" id="tact_PacificRimMember_lbl">Geographic area surrounding the edges of the Pacific Ocean. The Pacific Rim covers the western shores of North America and South America, in addition to Australia, eastern Asia and the islands of the Pacific.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PacificRimMember" xlink:to="tact_PacificRimMember_lbl" xlink:title="label: PacificRimMember to tact_PacificRimMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_PacificRimMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_PacificRimMember_lbl1" xml:lang="en-US" id="tact_PacificRimMember_lbl1">Pacific Rim [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PacificRimMember" xlink:to="tact_PacificRimMember_lbl1" xlink:title="label: PacificRimMember to tact_PacificRimMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_PacificRimMember_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_PacificRimMember_lbl2" xml:lang="en-US" id="tact_PacificRimMember_lbl2">Pacific Rim [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PacificRimMember" xlink:to="tact_PacificRimMember_lbl2" xlink:title="label: PacificRimMember to tact_PacificRimMember_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_InternationalMember" xlink:label="InternationalMember" xlink:title="InternationalMember" />
    <link:label xlink:type="resource" xlink:label="tact_InternationalMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_InternationalMember_lbl" xml:lang="en-US" id="tact_InternationalMember_lbl">Other countries outside of the United States.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InternationalMember" xlink:to="tact_InternationalMember_lbl" xlink:title="label: InternationalMember to tact_InternationalMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_InternationalMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_InternationalMember_lbl1" xml:lang="en-US" id="tact_InternationalMember_lbl1">International [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InternationalMember" xlink:to="tact_InternationalMember_lbl1" xlink:title="label: InternationalMember to tact_InternationalMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree" xlink:label="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree" xlink:title="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree" />
    <link:label xlink:type="resource" xlink:label="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree_lbl" xml:lang="en-US" id="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree_lbl">Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after 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).</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree" xlink:to="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree_lbl" xlink:title="label: FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree to tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree_lbl1" xml:lang="en-US" id="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree_lbl1">Finite-Lived Intangible Asset, Expected Amortization, After Year Three</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree" xlink:to="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree_lbl1" xlink:title="label: FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree to tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree_lbl2" xml:lang="en-US" id="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree_lbl2">Thereafter</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree" xlink:to="tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree_lbl2" xlink:title="label: FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree to tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ExtendedProductWarrantyPeriod" xlink:label="ExtendedProductWarrantyPeriod" xlink:title="ExtendedProductWarrantyPeriod" />
    <link:label xlink:type="resource" xlink:label="tact_ExtendedProductWarrantyPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ExtendedProductWarrantyPeriod_lbl" xml:lang="en-US" id="tact_ExtendedProductWarrantyPeriod_lbl">The extended warranty period on company products, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExtendedProductWarrantyPeriod" xlink:to="tact_ExtendedProductWarrantyPeriod_lbl" xlink:title="label: ExtendedProductWarrantyPeriod to tact_ExtendedProductWarrantyPeriod_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ExtendedProductWarrantyPeriod_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ExtendedProductWarrantyPeriod_lbl1" xml:lang="en-US" id="tact_ExtendedProductWarrantyPeriod_lbl1">Extended Product Warranty Period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExtendedProductWarrantyPeriod" xlink:to="tact_ExtendedProductWarrantyPeriod_lbl1" xlink:title="label: ExtendedProductWarrantyPeriod to tact_ExtendedProductWarrantyPeriod_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ExtendedProductWarrantyPeriod_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_ExtendedProductWarrantyPeriod_lbl2" xml:lang="en-US" id="tact_ExtendedProductWarrantyPeriod_lbl2">Product warranty period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ExtendedProductWarrantyPeriod" xlink:to="tact_ExtendedProductWarrantyPeriod_lbl2" xlink:title="label: ExtendedProductWarrantyPeriod to tact_ExtendedProductWarrantyPeriod_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_InternationalGameTechnologyPlcMember" xlink:label="InternationalGameTechnologyPlcMember" xlink:title="InternationalGameTechnologyPlcMember" />
    <link:label xlink:type="resource" xlink:label="tact_InternationalGameTechnologyPlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_InternationalGameTechnologyPlcMember_lbl" xml:lang="en-US" id="tact_InternationalGameTechnologyPlcMember_lbl">International Game Technology PLC, formerly Gtech S.p.A. and Lottomatica S.p.A., is a multinational gaming company that produces slot machines and other gaming technology.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InternationalGameTechnologyPlcMember" xlink:to="tact_InternationalGameTechnologyPlcMember_lbl" xlink:title="label: InternationalGameTechnologyPlcMember to tact_InternationalGameTechnologyPlcMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_InternationalGameTechnologyPlcMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_InternationalGameTechnologyPlcMember_lbl1" xml:lang="en-US" id="tact_InternationalGameTechnologyPlcMember_lbl1">International Game Technology PLC [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InternationalGameTechnologyPlcMember" xlink:to="tact_InternationalGameTechnologyPlcMember_lbl1" xlink:title="label: InternationalGameTechnologyPlcMember to tact_InternationalGameTechnologyPlcMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_InternationalGameTechnologyPlcMember_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_InternationalGameTechnologyPlcMember_lbl2" xml:lang="en-US" id="tact_InternationalGameTechnologyPlcMember_lbl2">IGT [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InternationalGameTechnologyPlcMember" xlink:to="tact_InternationalGameTechnologyPlcMember_lbl2" xlink:title="label: InternationalGameTechnologyPlcMember to tact_InternationalGameTechnologyPlcMember_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_NcrCorporationMember" xlink:label="NcrCorporationMember" xlink:title="NcrCorporationMember" />
    <link:label xlink:type="resource" xlink:label="tact_NcrCorporationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_NcrCorporationMember_lbl" xml:lang="en-US" id="tact_NcrCorporationMember_lbl">NCR Corporation, previously known as National Cash Register, is an American software, consulting and technology company providing several professional services and electronic products.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NcrCorporationMember" xlink:to="tact_NcrCorporationMember_lbl" xlink:title="label: NcrCorporationMember to tact_NcrCorporationMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_NcrCorporationMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_NcrCorporationMember_lbl1" xml:lang="en-US" id="tact_NcrCorporationMember_lbl1">NCR Corporation [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NcrCorporationMember" xlink:to="tact_NcrCorporationMember_lbl1" xlink:title="label: NcrCorporationMember to tact_NcrCorporationMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_NcrCorporationMember_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_NcrCorporationMember_lbl2" xml:lang="en-US" id="tact_NcrCorporationMember_lbl2">NCR Corporation [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NcrCorporationMember" xlink:to="tact_NcrCorporationMember_lbl2" xlink:title="label: NcrCorporationMember to tact_NcrCorporationMember_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ScientificGamesMember" xlink:label="ScientificGamesMember" xlink:title="ScientificGamesMember" />
    <link:label xlink:type="resource" xlink:label="tact_ScientificGamesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ScientificGamesMember_lbl" xml:lang="en-US" id="tact_ScientificGamesMember_lbl">Scientific Games is a world leader in entertainment offering dynamic games, systems and services for casino, lottery, social gaming, online gaming and sports betting.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScientificGamesMember" xlink:to="tact_ScientificGamesMember_lbl" xlink:title="label: ScientificGamesMember to tact_ScientificGamesMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ScientificGamesMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ScientificGamesMember_lbl1" xml:lang="en-US" id="tact_ScientificGamesMember_lbl1">Scientific Games [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScientificGamesMember" xlink:to="tact_ScientificGamesMember_lbl1" xlink:title="label: ScientificGamesMember to tact_ScientificGamesMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ScientificGamesMember_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_ScientificGamesMember_lbl2" xml:lang="en-US" id="tact_ScientificGamesMember_lbl2">Chain Link Services [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScientificGamesMember" xlink:to="tact_ScientificGamesMember_lbl2" xlink:title="label: ScientificGamesMember to tact_ScientificGamesMember_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:label="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:title="EquityAwardsWeightedAverageRemainingContractualTermAbstract" />
    <link:label xlink:type="resource" xlink:label="tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract_lbl1" xml:lang="en-US" id="tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract_lbl1">Equity Awards, Weighted-Average Remaining Contractual Term [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:to="tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract_lbl1" xlink:title="label: EquityAwardsWeightedAverageRemainingContractualTermAbstract to tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract_lbl2" xml:lang="en-US" id="tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract_lbl2">Remaining Term [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:to="tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract_lbl2" xlink:title="label: EquityAwardsWeightedAverageRemainingContractualTermAbstract to tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_EquityAwardsAggregateIntrinsicValueAbstract" xlink:label="EquityAwardsAggregateIntrinsicValueAbstract" xlink:title="EquityAwardsAggregateIntrinsicValueAbstract" />
    <link:label xlink:type="resource" xlink:label="tact_EquityAwardsAggregateIntrinsicValueAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_EquityAwardsAggregateIntrinsicValueAbstract_lbl1" xml:lang="en-US" id="tact_EquityAwardsAggregateIntrinsicValueAbstract_lbl1">Equity Awards, Aggregate Intrinsic Value [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityAwardsAggregateIntrinsicValueAbstract" xlink:to="tact_EquityAwardsAggregateIntrinsicValueAbstract_lbl1" xlink:title="label: EquityAwardsAggregateIntrinsicValueAbstract to tact_EquityAwardsAggregateIntrinsicValueAbstract_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_EquityAwardsAggregateIntrinsicValueAbstract_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_EquityAwardsAggregateIntrinsicValueAbstract_lbl2" xml:lang="en-US" id="tact_EquityAwardsAggregateIntrinsicValueAbstract_lbl2">Aggregate Intrinsic Value [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityAwardsAggregateIntrinsicValueAbstract" xlink:to="tact_EquityAwardsAggregateIntrinsicValueAbstract_lbl2" xlink:title="label: EquityAwardsAggregateIntrinsicValueAbstract to tact_EquityAwardsAggregateIntrinsicValueAbstract_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:label="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:title="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" />
    <link:label xlink:type="resource" xlink:label="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl" xml:lang="en-US" id="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl">Stock incentive plans which provide for awards to executives, key employees, directors and consultants.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:to="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl" xlink:title="label: EquityIncentivePlan2005AndEquityIncentivePlan2014Member to tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl1" xml:lang="en-US" id="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl1">Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:to="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl1" xlink:title="label: EquityIncentivePlan2005AndEquityIncentivePlan2014Member to tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl2" xml:lang="en-US" id="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl2">2005 Equity Incentive Plan and 2014 Equity Incentive Plan [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:to="tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl2" xlink:title="label: EquityIncentivePlan2005AndEquityIncentivePlan2014Member to tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl">The weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were exercised during the period.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl1" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Exercises in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl2" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl2">Exercised (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl2" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl">Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans for which the right to exercise has lapsed under the terms of the plan agreements.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl1" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl1">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Expirations, Weighted Average Grant Date Fair Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl1" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl2" xml:lang="en-US" id="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl2">Expired (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:to="tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl2" xlink:title="label: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue to tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_LotteryMember" xlink:label="LotteryMember" xlink:title="LotteryMember" />
    <link:label xlink:type="resource" xlink:label="tact_LotteryMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_LotteryMember_lbl" xml:lang="en-US" id="tact_LotteryMember_lbl">Revenue from sales of thermal on-line and other lottery printers primarily to International Game Technology and its subsidiaries ("IGT") and, to a lesser extent, other lottery system companies for various lottery applications.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LotteryMember" xlink:to="tact_LotteryMember_lbl" xlink:title="label: LotteryMember to tact_LotteryMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_LotteryMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_LotteryMember_lbl1" xml:lang="en-US" id="tact_LotteryMember_lbl1">Lottery [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LotteryMember" xlink:to="tact_LotteryMember_lbl1" xlink:title="label: LotteryMember to tact_LotteryMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_LotteryMember_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_LotteryMember_lbl2" xml:lang="en-US" id="tact_LotteryMember_lbl2">Lottery [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LotteryMember" xlink:to="tact_LotteryMember_lbl2" xlink:title="label: LotteryMember to tact_LotteryMember_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_FoodServiceTechnologyMember" xlink:label="FoodServiceTechnologyMember" xlink:title="FoodServiceTechnologyMember" />
    <link:label xlink:type="resource" xlink:label="tact_FoodServiceTechnologyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_FoodServiceTechnologyMember_lbl" xml:lang="en-US" id="tact_FoodServiceTechnologyMember_lbl">Revenue from sales of the BOHA! ecosystem, which combines the latest generation terminal, cloud-based software applications and related hardware into a unique solution to automate operations with food production in the back-of-house operations in restaurants and food service operations.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FoodServiceTechnologyMember" xlink:to="tact_FoodServiceTechnologyMember_lbl" xlink:title="label: FoodServiceTechnologyMember to tact_FoodServiceTechnologyMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_FoodServiceTechnologyMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_FoodServiceTechnologyMember_lbl1" xml:lang="en-US" id="tact_FoodServiceTechnologyMember_lbl1">Food Service Technology [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FoodServiceTechnologyMember" xlink:to="tact_FoodServiceTechnologyMember_lbl1" xlink:title="label: FoodServiceTechnologyMember to tact_FoodServiceTechnologyMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_FoodServiceTechnologyMember_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_FoodServiceTechnologyMember_lbl2" xml:lang="en-US" id="tact_FoodServiceTechnologyMember_lbl2">Food Service Technology [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FoodServiceTechnologyMember" xlink:to="tact_FoodServiceTechnologyMember_lbl2" xlink:title="label: FoodServiceTechnologyMember to tact_FoodServiceTechnologyMember_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_TransactServicesGroupMember" xlink:label="TransactServicesGroupMember" xlink:title="TransactServicesGroupMember" />
    <link:label xlink:type="resource" xlink:label="tact_TransactServicesGroupMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_TransactServicesGroupMember_lbl" xml:lang="en-US" id="tact_TransactServicesGroupMember_lbl">Revenue from range of supplies and consumables used in the printing and scanning activities of customers in the restaurant and hospitality, banking, retail, casino and gaming, government and oil and gas exploration markets.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TransactServicesGroupMember" xlink:to="tact_TransactServicesGroupMember_lbl" xlink:title="label: TransactServicesGroupMember to tact_TransactServicesGroupMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_TransactServicesGroupMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_TransactServicesGroupMember_lbl1" xml:lang="en-US" id="tact_TransactServicesGroupMember_lbl1">TransAct Services Group [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TransactServicesGroupMember" xlink:to="tact_TransactServicesGroupMember_lbl1" xlink:title="label: TransactServicesGroupMember to tact_TransactServicesGroupMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_TransactServicesGroupMember_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_TransactServicesGroupMember_lbl2" xml:lang="en-US" id="tact_TransactServicesGroupMember_lbl2">TransAct Services Group [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TransactServicesGroupMember" xlink:to="tact_TransactServicesGroupMember_lbl2" xlink:title="label: TransactServicesGroupMember to tact_TransactServicesGroupMember_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PrintrexMember" xlink:label="PrintrexMember" xlink:title="PrintrexMember" />
    <link:label xlink:type="resource" xlink:label="tact_PrintrexMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_PrintrexMember_lbl" xml:lang="en-US" id="tact_PrintrexMember_lbl">Revenue from sales of branded printers wide format, desktop and rack mounted and vehicle mounted black/white thermal printers used by customers to log and plot oil field, seismic and down hole well drilling data in the oil and gas exploration industry.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PrintrexMember" xlink:to="tact_PrintrexMember_lbl" xlink:title="label: PrintrexMember to tact_PrintrexMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_PrintrexMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_PrintrexMember_lbl1" xml:lang="en-US" id="tact_PrintrexMember_lbl1">Printrex [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PrintrexMember" xlink:to="tact_PrintrexMember_lbl1" xlink:title="label: PrintrexMember to tact_PrintrexMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_PrintrexMember_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_PrintrexMember_lbl2" xml:lang="en-US" id="tact_PrintrexMember_lbl2">Printrex [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PrintrexMember" xlink:to="tact_PrintrexMember_lbl2" xlink:title="label: PrintrexMember to tact_PrintrexMember_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_CasinoAndGamingMember" xlink:label="CasinoAndGamingMember" xlink:title="CasinoAndGamingMember" />
    <link:label xlink:type="resource" xlink:label="tact_CasinoAndGamingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_CasinoAndGamingMember_lbl" xml:lang="en-US" id="tact_CasinoAndGamingMember_lbl">Revenue from sales of thermal ticket printers used in slot machines, video lottery terminals, and other gaming machines that print tickets or receipts instead of issuing coins at casinos and racetracks and other gaming venues worldwide.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CasinoAndGamingMember" xlink:to="tact_CasinoAndGamingMember_lbl" xlink:title="label: CasinoAndGamingMember to tact_CasinoAndGamingMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_CasinoAndGamingMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_CasinoAndGamingMember_lbl1" xml:lang="en-US" id="tact_CasinoAndGamingMember_lbl1">Casino and Gaming [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CasinoAndGamingMember" xlink:to="tact_CasinoAndGamingMember_lbl1" xlink:title="label: CasinoAndGamingMember to tact_CasinoAndGamingMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_CasinoAndGamingMember_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_CasinoAndGamingMember_lbl2" xml:lang="en-US" id="tact_CasinoAndGamingMember_lbl2">Casino and Gaming [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CasinoAndGamingMember" xlink:to="tact_CasinoAndGamingMember_lbl2" xlink:title="label: CasinoAndGamingMember to tact_CasinoAndGamingMember_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PosAutomationAndBankingMember" xlink:label="PosAutomationAndBankingMember" xlink:title="PosAutomationAndBankingMember" />
    <link:label xlink:type="resource" xlink:label="tact_PosAutomationAndBankingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_PosAutomationAndBankingMember_lbl" xml:lang="en-US" id="tact_PosAutomationAndBankingMember_lbl">Revenue from sales of thermal printers used primarily by restaurants (including fine dining, casual dining, quick serve and hospitality establishments) located either at the checkout counter or within self-service kiosks to print receipts for consumers or print on linerless labels.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PosAutomationAndBankingMember" xlink:to="tact_PosAutomationAndBankingMember_lbl" xlink:title="label: PosAutomationAndBankingMember to tact_PosAutomationAndBankingMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_PosAutomationAndBankingMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_PosAutomationAndBankingMember_lbl1" xml:lang="en-US" id="tact_PosAutomationAndBankingMember_lbl1">POS Automation and Banking [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PosAutomationAndBankingMember" xlink:to="tact_PosAutomationAndBankingMember_lbl1" xlink:title="label: PosAutomationAndBankingMember to tact_PosAutomationAndBankingMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_PosAutomationAndBankingMember_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_PosAutomationAndBankingMember_lbl2" xml:lang="en-US" id="tact_PosAutomationAndBankingMember_lbl2">POS Automation [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PosAutomationAndBankingMember" xlink:to="tact_PosAutomationAndBankingMember_lbl2" xlink:title="label: PosAutomationAndBankingMember to tact_PosAutomationAndBankingMember_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" xlink:label="TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" xlink:title="TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" />
    <link:label xlink:type="resource" xlink:label="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl" xml:lang="en-US" id="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl">Period the customer receives free maintenance upon completion of EPICENTRAL installation, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" xlink:to="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl" xlink:title="label: TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation to tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl1" xml:lang="en-US" id="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl1">Term of free maintenance upon completion of software installation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" xlink:to="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl1" xlink:title="label: TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation to tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl2" xml:lang="en-US" id="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl2">Term of free maintenance upon completion of software installation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" xlink:to="tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl2" xlink:title="label: TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation to tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ContractWithCustomerRevenueRecognized" xlink:label="ContractWithCustomerRevenueRecognized" xlink:title="ContractWithCustomerRevenueRecognized" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerRevenueRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ContractWithCustomerRevenueRecognized_lbl" xml:lang="en-US" id="tact_ContractWithCustomerRevenueRecognized_lbl">Amount of revenue recognized related to obligation to transfer good or service to customer for which consideration from customer has been received or is due.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerRevenueRecognized" xlink:to="tact_ContractWithCustomerRevenueRecognized_lbl" xlink:title="label: ContractWithCustomerRevenueRecognized to tact_ContractWithCustomerRevenueRecognized_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerRevenueRecognized_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ContractWithCustomerRevenueRecognized_lbl1" xml:lang="en-US" id="tact_ContractWithCustomerRevenueRecognized_lbl1">Contract with Customer, Revenue Recognized</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerRevenueRecognized" xlink:to="tact_ContractWithCustomerRevenueRecognized_lbl1" xlink:title="label: ContractWithCustomerRevenueRecognized to tact_ContractWithCustomerRevenueRecognized_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerRevenueRecognized_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_ContractWithCustomerRevenueRecognized_lbl2" xml:lang="en-US" id="tact_ContractWithCustomerRevenueRecognized_lbl2">Revenue recognized</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerRevenueRecognized" xlink:to="tact_ContractWithCustomerRevenueRecognized_lbl2" xlink:title="label: ContractWithCustomerRevenueRecognized to tact_ContractWithCustomerRevenueRecognized_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:label="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:title="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl" xml:lang="en-US" id="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl">Amount of obligation to transfer good or service to customer related to customer prepayments for which consideration has been received or is receivable, classified as current.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:to="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl" xlink:title="label: ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent to tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl1" xml:lang="en-US" id="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl1">Contract with Customer, Liability for Customer Prepayments, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:to="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl1" xlink:title="label: ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent to tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl2" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl2" xml:lang="en-US" id="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl2">Customer pre-payments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:to="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl2" xlink:title="label: ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent to tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ContractWithCustomerAssetLiabilityNet" xlink:label="ContractWithCustomerAssetLiabilityNet" xlink:title="ContractWithCustomerAssetLiabilityNet" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerAssetLiabilityNet_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ContractWithCustomerAssetLiabilityNet_lbl" xml:lang="en-US" id="tact_ContractWithCustomerAssetLiabilityNet_lbl">Amount, after allowance for credit loss, of right (asset) to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time and the amount of obligation (liability) to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="tact_ContractWithCustomerAssetLiabilityNet_lbl" xlink:title="label: ContractWithCustomerAssetLiabilityNet to tact_ContractWithCustomerAssetLiabilityNet_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerAssetLiabilityNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ContractWithCustomerAssetLiabilityNet_lbl1" xml:lang="en-US" id="tact_ContractWithCustomerAssetLiabilityNet_lbl1">Contract with Customer, Asset (Liability), net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="tact_ContractWithCustomerAssetLiabilityNet_lbl1" xlink:title="label: ContractWithCustomerAssetLiabilityNet to tact_ContractWithCustomerAssetLiabilityNet_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerAssetLiabilityNet_lbl2" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="tact_ContractWithCustomerAssetLiabilityNet_lbl2" xml:lang="en-US" id="tact_ContractWithCustomerAssetLiabilityNet_lbl2">Net contract assets (liabilities)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="tact_ContractWithCustomerAssetLiabilityNet_lbl2" xlink:title="label: ContractWithCustomerAssetLiabilityNet to tact_ContractWithCustomerAssetLiabilityNet_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:label="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:title="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl" xml:lang="en-US" id="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl">Tabular disclosure of supplemental information for the statement of cash flows related to operating leases.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:to="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl" xlink:title="label: LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock to tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl1" xml:lang="en-US" id="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl1">Lessee, Operating Lease, Supplemental Disclosure for Cash Flows [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:to="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl1" xlink:title="label: LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock to tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl2" xml:lang="en-US" id="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl2">Cash Flows for Operating Leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:to="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl2" xlink:title="label: LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock to tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:label="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:title="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl" xml:lang="en-US" id="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl">Tabular disclosure of information related to lessee's operating leases, including weighted average lease term and discount rate.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:to="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl" xlink:title="label: LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock to tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl1" xml:lang="en-US" id="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl1">Lessee, Operating Lease, Lease Term and Discount Rate [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:to="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl1" xlink:title="label: LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock to tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl2" xml:lang="en-US" id="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl2">Additional Information Related to Leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:to="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl2" xlink:title="label: LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock to tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_NoteReceivableInterestRate" xlink:label="NoteReceivableInterestRate" xlink:title="NoteReceivableInterestRate" />
    <link:label xlink:type="resource" xlink:label="tact_NoteReceivableInterestRate_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_NoteReceivableInterestRate_lbl" xml:lang="en-US" id="tact_NoteReceivableInterestRate_lbl">Contractual interest rate charged under the note receivable agreement.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NoteReceivableInterestRate" xlink:to="tact_NoteReceivableInterestRate_lbl" xlink:title="label: NoteReceivableInterestRate to tact_NoteReceivableInterestRate_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_NoteReceivableInterestRate_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_NoteReceivableInterestRate_lbl1" xml:lang="en-US" id="tact_NoteReceivableInterestRate_lbl1">Note Receivable, Interest Rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NoteReceivableInterestRate" xlink:to="tact_NoteReceivableInterestRate_lbl1" xlink:title="label: NoteReceivableInterestRate to tact_NoteReceivableInterestRate_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_NoteReceivableInterestRate_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_NoteReceivableInterestRate_lbl2" xml:lang="en-US" id="tact_NoteReceivableInterestRate_lbl2">Interest rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NoteReceivableInterestRate" xlink:to="tact_NoteReceivableInterestRate_lbl2" xlink:title="label: NoteReceivableInterestRate to tact_NoteReceivableInterestRate_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_NoteReceivableInterestIncome" xlink:label="NoteReceivableInterestIncome" xlink:title="NoteReceivableInterestIncome" />
    <link:label xlink:type="resource" xlink:label="tact_NoteReceivableInterestIncome_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_NoteReceivableInterestIncome_lbl" xml:lang="en-US" id="tact_NoteReceivableInterestIncome_lbl">Amount of nonoperating interest income from note receivable.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NoteReceivableInterestIncome" xlink:to="tact_NoteReceivableInterestIncome_lbl" xlink:title="label: NoteReceivableInterestIncome to tact_NoteReceivableInterestIncome_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_NoteReceivableInterestIncome_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_NoteReceivableInterestIncome_lbl1" xml:lang="en-US" id="tact_NoteReceivableInterestIncome_lbl1">Note Receivable, Interest Income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NoteReceivableInterestIncome" xlink:to="tact_NoteReceivableInterestIncome_lbl1" xlink:title="label: NoteReceivableInterestIncome to tact_NoteReceivableInterestIncome_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_NoteReceivableInterestIncome_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_NoteReceivableInterestIncome_lbl2" xml:lang="en-US" id="tact_NoteReceivableInterestIncome_lbl2">Interest income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NoteReceivableInterestIncome" xlink:to="tact_NoteReceivableInterestIncome_lbl2" xlink:title="label: NoteReceivableInterestIncome to tact_NoteReceivableInterestIncome_lbl2" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_FacilityInHamdenConnecticutMember" xlink:label="FacilityInHamdenConnecticutMember" xlink:title="FacilityInHamdenConnecticutMember" />
    <link:label xlink:type="resource" xlink:label="tact_FacilityInHamdenConnecticutMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_FacilityInHamdenConnecticutMember_lbl" xml:lang="en-US" id="tact_FacilityInHamdenConnecticutMember_lbl">The company's executive offices and sales office located in Hamden, Connecticut.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FacilityInHamdenConnecticutMember" xlink:to="tact_FacilityInHamdenConnecticutMember_lbl" xlink:title="label: FacilityInHamdenConnecticutMember to tact_FacilityInHamdenConnecticutMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_FacilityInHamdenConnecticutMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_FacilityInHamdenConnecticutMember_lbl1" xml:lang="en-US" id="tact_FacilityInHamdenConnecticutMember_lbl1">Facility in Hamden, Connecticut [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FacilityInHamdenConnecticutMember" xlink:to="tact_FacilityInHamdenConnecticutMember_lbl1" xlink:title="label: FacilityInHamdenConnecticutMember to tact_FacilityInHamdenConnecticutMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:label="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:title="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" />
    <link:label xlink:type="resource" xlink:label="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US" id="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl">Amount of increase (decrease) in operating lease right-of-use asset.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:to="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl" xlink:title="label: IncreaseDecreaseInOperatingLeaseRightOfUseAsset to tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl1" xml:lang="en-US" id="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl1">Increase (Decrease) in Operating Lease Right-of-use Asset</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:to="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl1" xlink:title="label: IncreaseDecreaseInOperatingLeaseRightOfUseAsset to tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl2" xml:lang="en-US" id="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl2">Increase (decrease) in right-of-use-asset</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:to="tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl2" xlink:title="label: IncreaseDecreaseInOperatingLeaseRightOfUseAsset to tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset_lbl2" />
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>12
<FILENAME>tact-20211231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by EDGARfilings PROfile 8.0.0.0 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" />
  <link:roleRef roleURI="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#QuarterlyResultsOfOperationsUnauditedDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesDetailsCalc2" xlink:type="simple" xlink:href="tact-20211231.xsd#LeasesDetailsCalc2" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#LeasesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/GeographicAreaInformationDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#GeographicAreaInformationDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockRepurchaseProgramDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#StockRepurchaseProgramDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShareDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#EarningsPerShareDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#IncomeTaxesUnrecognizedTaxBenefitsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#IncomeTaxesComponentsOfIncomeTaxBenefitDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansRestrictedStockDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#StockIncentivePlansRestrictedStockDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#StockIncentivePlansStockOptionsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#StockIncentivePlansSharebasedCompensationExpenseDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#StockIncentivePlansStockIncentivePlansDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/BorrowingsDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#BorrowingsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/RetirementSavingsPlanDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#RetirementSavingsPlanDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/AccruedLiabilitiesDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#AccruedLiabilitiesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/IntangibleAssetsNetDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#IntangibleAssetsNetDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/FixedAssetsNetDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#FixedAssetsNetDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/InventoriesDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#InventoriesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/NoteReceivableDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#NoteReceivableDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesAdvertisingDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesWarrantyDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesLeasesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesFixedAssetsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAllowanceForDoubtfulAccountsDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesAllowanceForDoubtfulAccountsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesSegmentReportingDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesSegmentReportingDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/DescriptionOfBusinessDetails" xlink:type="simple" xlink:href="tact-20211231.xsd#DescriptionOfBusinessDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedTables" xlink:type="simple" xlink:href="tact-20211231.xsd#QuarterlyResultsOfOperationsUnauditedTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesTables" xlink:type="simple" xlink:href="tact-20211231.xsd#LeasesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/GeographicAreaInformationTables" xlink:type="simple" xlink:href="tact-20211231.xsd#GeographicAreaInformationTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShareTables" xlink:type="simple" xlink:href="tact-20211231.xsd#EarningsPerShareTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesTables" xlink:type="simple" xlink:href="tact-20211231.xsd#IncomeTaxesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlansTables" xlink:type="simple" xlink:href="tact-20211231.xsd#StockIncentivePlansTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/AccruedLiabilitiesTables" xlink:type="simple" xlink:href="tact-20211231.xsd#AccruedLiabilitiesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/IntangibleAssetsNetTables" xlink:type="simple" xlink:href="tact-20211231.xsd#IntangibleAssetsNetTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/FixedAssetsNetTables" xlink:type="simple" xlink:href="tact-20211231.xsd#FixedAssetsNetTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/InventoriesTables" xlink:type="simple" xlink:href="tact-20211231.xsd#InventoriesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" />
  <link:roleRef roleURI="http://transact-tech.com/role/SubsequentEvents" xlink:type="simple" xlink:href="tact-20211231.xsd#SubsequentEvents" />
  <link:roleRef roleURI="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnaudited" xlink:type="simple" xlink:href="tact-20211231.xsd#QuarterlyResultsOfOperationsUnaudited" />
  <link:roleRef roleURI="http://transact-tech.com/role/Leases" xlink:type="simple" xlink:href="tact-20211231.xsd#Leases" />
  <link:roleRef roleURI="http://transact-tech.com/role/GeographicAreaInformation" xlink:type="simple" xlink:href="tact-20211231.xsd#GeographicAreaInformation" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockRepurchaseProgram" xlink:type="simple" xlink:href="tact-20211231.xsd#StockRepurchaseProgram" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShare" xlink:type="simple" xlink:href="tact-20211231.xsd#EarningsPerShare" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxes" xlink:type="simple" xlink:href="tact-20211231.xsd#IncomeTaxes" />
  <link:roleRef roleURI="http://transact-tech.com/role/StockIncentivePlans" xlink:type="simple" xlink:href="tact-20211231.xsd#StockIncentivePlans" />
  <link:roleRef roleURI="http://transact-tech.com/role/Borrowings" xlink:type="simple" xlink:href="tact-20211231.xsd#Borrowings" />
  <link:roleRef roleURI="http://transact-tech.com/role/RetirementSavingsPlan" xlink:type="simple" xlink:href="tact-20211231.xsd#RetirementSavingsPlan" />
  <link:roleRef roleURI="http://transact-tech.com/role/AccruedLiabilities" xlink:type="simple" xlink:href="tact-20211231.xsd#AccruedLiabilities" />
  <link:roleRef roleURI="http://transact-tech.com/role/IntangibleAssetsNet" xlink:type="simple" xlink:href="tact-20211231.xsd#IntangibleAssetsNet" />
  <link:roleRef roleURI="http://transact-tech.com/role/FixedAssetsNet" xlink:type="simple" xlink:href="tact-20211231.xsd#FixedAssetsNet" />
  <link:roleRef roleURI="http://transact-tech.com/role/Inventories" xlink:type="simple" xlink:href="tact-20211231.xsd#Inventories" />
  <link:roleRef roleURI="http://transact-tech.com/role/NoteReceivable" xlink:type="simple" xlink:href="tact-20211231.xsd#NoteReceivable" />
  <link:roleRef roleURI="http://transact-tech.com/role/SummaryOfSignificantAccountingPolicies" xlink:type="simple" xlink:href="tact-20211231.xsd#SummaryOfSignificantAccountingPolicies" />
  <link:roleRef roleURI="http://transact-tech.com/role/DescriptionOfBusiness" xlink:type="simple" xlink:href="tact-20211231.xsd#DescriptionOfBusiness" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="tact-20211231.xsd#ConsolidatedStatementsOfCashFlows" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" xlink:type="simple" xlink:href="tact-20211231.xsd#ConsolidatedStatementsOfChangesInShareholdersEquity" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveLoss" xlink:type="simple" xlink:href="tact-20211231.xsd#ConsolidatedStatementsOfComprehensiveLoss" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedStatementsOfOperations" xlink:type="simple" xlink:href="tact-20211231.xsd#ConsolidatedStatementsOfOperations" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="tact-20211231.xsd#ConsolidatedBalanceSheetsParenthetical" />
  <link:roleRef roleURI="http://transact-tech.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="tact-20211231.xsd#ConsolidatedBalanceSheets" />
  <link:roleRef roleURI="http://transact-tech.com/role/DocumentAndEntityInformation" xlink:type="simple" xlink:href="tact-20211231.xsd#DocumentAndEntityInformation" />
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/DocumentAndEntityInformation">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CoverAbstract" xlink:label="CoverAbstract" xlink:title="CoverAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentType" xlink:label="DocumentType" xlink:title="DocumentType" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentType" xlink:title="presentation: CoverAbstract to DocumentType" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AmendmentFlag" xlink:label="AmendmentFlag" xlink:title="AmendmentFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="AmendmentFlag" xlink:title="presentation: CoverAbstract to AmendmentFlag" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentAnnualReport" xlink:label="DocumentAnnualReport" xlink:title="DocumentAnnualReport" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentAnnualReport" xlink:title="presentation: CoverAbstract to DocumentAnnualReport" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentPeriodEndDate" xlink:label="DocumentPeriodEndDate" xlink:title="DocumentPeriodEndDate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentPeriodEndDate" xlink:title="presentation: CoverAbstract to DocumentPeriodEndDate" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CurrentFiscalYearEndDate" xlink:label="CurrentFiscalYearEndDate" xlink:title="CurrentFiscalYearEndDate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="CurrentFiscalYearEndDate" xlink:title="presentation: CoverAbstract to CurrentFiscalYearEndDate" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalYearFocus" xlink:label="DocumentFiscalYearFocus" xlink:title="DocumentFiscalYearFocus" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentFiscalYearFocus" xlink:title="presentation: CoverAbstract to DocumentFiscalYearFocus" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="DocumentFiscalPeriodFocus" xlink:title="DocumentFiscalPeriodFocus" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentFiscalPeriodFocus" xlink:title="presentation: CoverAbstract to DocumentFiscalPeriodFocus" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_DocumentTransitionReport" xlink:label="DocumentTransitionReport" xlink:title="DocumentTransitionReport" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentTransitionReport" xlink:title="presentation: CoverAbstract to DocumentTransitionReport" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFileNumber" xlink:label="EntityFileNumber" xlink:title="EntityFileNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityFileNumber" xlink:title="presentation: CoverAbstract to EntityFileNumber" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityRegistrantName" xlink:label="EntityRegistrantName" xlink:title="EntityRegistrantName" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityRegistrantName" xlink:title="presentation: CoverAbstract to EntityRegistrantName" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCentralIndexKey" xlink:label="EntityCentralIndexKey" xlink:title="EntityCentralIndexKey" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityCentralIndexKey" xlink:title="presentation: CoverAbstract to EntityCentralIndexKey" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="EntityIncorporationStateCountryCode" xlink:title="EntityIncorporationStateCountryCode" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityIncorporationStateCountryCode" xlink:title="presentation: CoverAbstract to EntityIncorporationStateCountryCode" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityTaxIdentificationNumber" xlink:label="EntityTaxIdentificationNumber" xlink:title="EntityTaxIdentificationNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityTaxIdentificationNumber" xlink:title="presentation: CoverAbstract to EntityTaxIdentificationNumber" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine1" xlink:label="EntityAddressAddressLine1" xlink:title="EntityAddressAddressLine1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressAddressLine1" xlink:title="presentation: CoverAbstract to EntityAddressAddressLine1" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressAddressLine2" xlink:label="EntityAddressAddressLine2" xlink:title="EntityAddressAddressLine2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressAddressLine2" xlink:title="presentation: CoverAbstract to EntityAddressAddressLine2" order="14.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressCityOrTown" xlink:label="EntityAddressCityOrTown" xlink:title="EntityAddressCityOrTown" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressCityOrTown" xlink:title="presentation: CoverAbstract to EntityAddressCityOrTown" order="15.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressStateOrProvince" xlink:label="EntityAddressStateOrProvince" xlink:title="EntityAddressStateOrProvince" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressStateOrProvince" xlink:title="presentation: CoverAbstract to EntityAddressStateOrProvince" order="16.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityAddressPostalZipCode" xlink:label="EntityAddressPostalZipCode" xlink:title="EntityAddressPostalZipCode" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressPostalZipCode" xlink:title="presentation: CoverAbstract to EntityAddressPostalZipCode" order="17.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_CityAreaCode" xlink:label="CityAreaCode" xlink:title="CityAreaCode" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="CityAreaCode" xlink:title="presentation: CoverAbstract to CityAreaCode" order="18.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_LocalPhoneNumber" xlink:label="LocalPhoneNumber" xlink:title="LocalPhoneNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="LocalPhoneNumber" xlink:title="presentation: CoverAbstract to LocalPhoneNumber" order="19.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_Security12bTitle" xlink:label="Security12bTitle" xlink:title="Security12bTitle" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="Security12bTitle" xlink:title="presentation: CoverAbstract to Security12bTitle" order="20.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_TradingSymbol" xlink:label="TradingSymbol" xlink:title="TradingSymbol" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="TradingSymbol" xlink:title="presentation: CoverAbstract to TradingSymbol" order="21.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_SecurityExchangeName" xlink:label="SecurityExchangeName" xlink:title="SecurityExchangeName" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="SecurityExchangeName" xlink:title="presentation: CoverAbstract to SecurityExchangeName" order="22.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="EntityWellKnownSeasonedIssuer" xlink:title="EntityWellKnownSeasonedIssuer" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityWellKnownSeasonedIssuer" xlink:title="presentation: CoverAbstract to EntityWellKnownSeasonedIssuer" order="23.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityVoluntaryFilers" xlink:label="EntityVoluntaryFilers" xlink:title="EntityVoluntaryFilers" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityVoluntaryFilers" xlink:title="presentation: CoverAbstract to EntityVoluntaryFilers" order="24.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCurrentReportingStatus" xlink:label="EntityCurrentReportingStatus" xlink:title="EntityCurrentReportingStatus" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityCurrentReportingStatus" xlink:title="presentation: CoverAbstract to EntityCurrentReportingStatus" order="25.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityInteractiveDataCurrent" xlink:label="EntityInteractiveDataCurrent" xlink:title="EntityInteractiveDataCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityInteractiveDataCurrent" xlink:title="presentation: CoverAbstract to EntityInteractiveDataCurrent" order="26.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityFilerCategory" xlink:label="EntityFilerCategory" xlink:title="EntityFilerCategory" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityFilerCategory" xlink:title="presentation: CoverAbstract to EntityFilerCategory" order="27.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntitySmallBusiness" xlink:label="EntitySmallBusiness" xlink:title="EntitySmallBusiness" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntitySmallBusiness" xlink:title="presentation: CoverAbstract to EntitySmallBusiness" order="28.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityEmergingGrowthCompany" xlink:label="EntityEmergingGrowthCompany" xlink:title="EntityEmergingGrowthCompany" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityEmergingGrowthCompany" xlink:title="presentation: CoverAbstract to EntityEmergingGrowthCompany" order="29.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="IcfrAuditorAttestationFlag" xlink:title="IcfrAuditorAttestationFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="IcfrAuditorAttestationFlag" xlink:title="presentation: CoverAbstract to IcfrAuditorAttestationFlag" order="30.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityShellCompany" xlink:label="EntityShellCompany" xlink:title="EntityShellCompany" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityShellCompany" xlink:title="presentation: CoverAbstract to EntityShellCompany" order="31.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityPublicFloat" xlink:label="EntityPublicFloat" xlink:title="EntityPublicFloat" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityPublicFloat" xlink:title="presentation: CoverAbstract to EntityPublicFloat" order="32.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="EntityCommonStockSharesOutstanding" xlink:title="EntityCommonStockSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityCommonStockSharesOutstanding" xlink:title="presentation: CoverAbstract to EntityCommonStockSharesOutstanding" order="33.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorFirmId" xlink:label="AuditorFirmId" xlink:title="AuditorFirmId" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="AuditorFirmId" xlink:title="presentation: CoverAbstract to AuditorFirmId" order="34.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorName" xlink:label="AuditorName" xlink:title="AuditorName" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="AuditorName" xlink:title="presentation: CoverAbstract to AuditorName" order="35.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd#dei_AuditorLocation" xlink:label="AuditorLocation" xlink:title="AuditorLocation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="AuditorLocation" xlink:title="presentation: CoverAbstract to AuditorLocation" order="36.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedBalanceSheets">
    <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="StatementOfFinancialPositionAbstract" xlink:title="StatementOfFinancialPositionAbstract" />
    <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="StatementTable" xlink:title="StatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="StatementClassOfStockAxis" xlink:title="StatementClassOfStockAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="ClassOfStockDomain" xlink:title="ClassOfStockDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SeriesAPreferredStockMember" xlink:label="SeriesAPreferredStockMember" xlink:title="SeriesAPreferredStockMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ClassOfStockDomain" xlink:to="SeriesAPreferredStockMember" xlink:title="presentation: ClassOfStockDomain to SeriesAPreferredStockMember" order="0.0" 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="StatementClassOfStockAxis" xlink:to="ClassOfStockDomain" xlink:title="presentation: StatementClassOfStockAxis to ClassOfStockDomain" order="0.0" 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="StatementTable" xlink:to="StatementClassOfStockAxis" xlink:title="presentation: StatementTable to StatementClassOfStockAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="StatementLineItems" xlink:title="StatementLineItems" />
    <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="AssetsAbstract" xlink:title="AssetsAbstract" />
    <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="AssetsCurrentAbstract" xlink:title="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="CashAndCashEquivalentsAtCarryingValue" xlink:title="CashAndCashEquivalentsAtCarryingValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="CashAndCashEquivalentsAtCarryingValue" xlink:title="presentation: AssetsCurrentAbstract to CashAndCashEquivalentsAtCarryingValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="AccountsReceivableNetCurrent" xlink:title="presentation: AssetsCurrentAbstract to AccountsReceivableNetCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NontradeReceivablesCurrent" xlink:label="NontradeReceivablesCurrent" xlink:title="NontradeReceivablesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="NontradeReceivablesCurrent" xlink:title="presentation: AssetsCurrentAbstract to NontradeReceivablesCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetCurrent" xlink:label="NotesAndLoansReceivableNetCurrent" xlink:title="NotesAndLoansReceivableNetCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="NotesAndLoansReceivableNetCurrent" xlink:title="presentation: AssetsCurrentAbstract to NotesAndLoansReceivableNetCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="InventoryNet" xlink:title="presentation: AssetsCurrentAbstract to InventoryNet" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrepaidTaxes" xlink:label="PrepaidTaxes" xlink:title="PrepaidTaxes" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="PrepaidTaxes" xlink:title="presentation: AssetsCurrentAbstract to PrepaidTaxes" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="OtherAssetsCurrent" xlink:title="OtherAssetsCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="OtherAssetsCurrent" xlink:title="presentation: AssetsCurrentAbstract to OtherAssetsCurrent" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="AssetsCurrent" xlink:title="AssetsCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="AssetsCurrent" xlink:title="presentation: AssetsCurrentAbstract to AssetsCurrent" order="7.0" 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="AssetsAbstract" xlink:to="AssetsCurrentAbstract" xlink:title="presentation: AssetsAbstract to AssetsCurrentAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="presentation: AssetsAbstract to PropertyPlantAndEquipmentNet" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NotesAndLoansReceivableNetNoncurrent" xlink:label="NotesAndLoansReceivableNetNoncurrent" xlink:title="NotesAndLoansReceivableNetNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="NotesAndLoansReceivableNetNoncurrent" xlink:title="presentation: AssetsAbstract to NotesAndLoansReceivableNetNoncurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="OperatingLeaseRightOfUseAsset" xlink:title="presentation: AssetsAbstract to OperatingLeaseRightOfUseAsset" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="Goodwill" xlink:title="Goodwill" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="Goodwill" xlink:title="presentation: AssetsAbstract to Goodwill" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="DeferredIncomeTaxAssetsNet" xlink:title="DeferredIncomeTaxAssetsNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="DeferredIncomeTaxAssetsNet" xlink:title="presentation: AssetsAbstract to DeferredIncomeTaxAssetsNet" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="IntangibleAssetsNetExcludingGoodwill" xlink:title="IntangibleAssetsNetExcludingGoodwill" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="IntangibleAssetsNetExcludingGoodwill" xlink:title="presentation: AssetsAbstract to IntangibleAssetsNetExcludingGoodwill" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="OtherAssetsNoncurrent" xlink:title="OtherAssetsNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="OtherAssetsNoncurrent" xlink:title="presentation: AssetsAbstract to OtherAssetsNoncurrent" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsNoncurrent" xlink:label="AssetsNoncurrent" xlink:title="AssetsNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="AssetsNoncurrent" xlink:title="presentation: AssetsAbstract to AssetsNoncurrent" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <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="Assets" xlink:title="Assets" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="Assets" xlink:title="presentation: AssetsAbstract to Assets" order="9.0" 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="StatementLineItems" xlink:to="AssetsAbstract" xlink:title="presentation: StatementLineItems to AssetsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="LiabilitiesAndStockholdersEquityAbstract" xlink:title="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="LiabilitiesCurrentAbstract" xlink:title="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="AccountsPayableCurrent" xlink:title="AccountsPayableCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="AccountsPayableCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to AccountsPayableCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="AccruedLiabilitiesCurrent" xlink:title="AccruedLiabilitiesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="AccruedLiabilitiesCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to AccruedLiabilitiesCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="OperatingLeaseLiabilityCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to OperatingLeaseLiabilityCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="AccruedIncomeTaxesCurrent" xlink:title="AccruedIncomeTaxesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="AccruedIncomeTaxesCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to AccruedIncomeTaxesCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="ContractWithCustomerLiabilityCurrent" xlink:title="ContractWithCustomerLiabilityCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="ContractWithCustomerLiabilityCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to ContractWithCustomerLiabilityCurrent" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="LiabilitiesCurrent" xlink:title="LiabilitiesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="LiabilitiesCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to LiabilitiesCurrent" order="5.0" 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="LiabilitiesAndStockholdersEquityAbstract" xlink:to="LiabilitiesCurrentAbstract" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to LiabilitiesCurrentAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnsecuredLongTermDebt" xlink:label="UnsecuredLongTermDebt" xlink:title="UnsecuredLongTermDebt" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="UnsecuredLongTermDebt" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to UnsecuredLongTermDebt" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="ContractWithCustomerLiabilityNoncurrent" xlink:title="ContractWithCustomerLiabilityNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="ContractWithCustomerLiabilityNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to ContractWithCustomerLiabilityNoncurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="OperatingLeaseLiabilityNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to OperatingLeaseLiabilityNoncurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredRentCredit" xlink:label="DeferredRentCredit" xlink:title="DeferredRentCredit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="DeferredRentCredit" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to DeferredRentCredit" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="OtherLiabilitiesNoncurrent" xlink:title="OtherLiabilitiesNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="OtherLiabilitiesNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to OtherLiabilitiesNoncurrent" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="LiabilitiesNoncurrent" xlink:title="LiabilitiesNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="LiabilitiesNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to LiabilitiesNoncurrent" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <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="Liabilities" xlink:title="Liabilities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="Liabilities" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to Liabilities" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <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="CommitmentsAndContingencies" xlink:title="CommitmentsAndContingencies" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="CommitmentsAndContingencies" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to CommitmentsAndContingencies" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="StockholdersEquityAbstract" xlink:title="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="PreferredStockValue" xlink:title="PreferredStockValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="PreferredStockValue" xlink:title="presentation: StockholdersEquityAbstract to PreferredStockValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="CommonStockValue" xlink:title="CommonStockValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockValue" xlink:title="presentation: StockholdersEquityAbstract to CommonStockValue" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="AdditionalPaidInCapitalCommonStock" xlink:title="AdditionalPaidInCapitalCommonStock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="AdditionalPaidInCapitalCommonStock" xlink:title="presentation: StockholdersEquityAbstract to AdditionalPaidInCapitalCommonStock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="RetainedEarningsAccumulatedDeficit" xlink:title="RetainedEarningsAccumulatedDeficit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="RetainedEarningsAccumulatedDeficit" xlink:title="presentation: StockholdersEquityAbstract to RetainedEarningsAccumulatedDeficit" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="presentation: StockholdersEquityAbstract to AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockValue" xlink:label="TreasuryStockValue" xlink:title="TreasuryStockValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="TreasuryStockValue" xlink:title="presentation: StockholdersEquityAbstract to TreasuryStockValue" order="5.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <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="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="StockholdersEquity" xlink:title="presentation: StockholdersEquityAbstract to StockholdersEquity" order="6.0" 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="LiabilitiesAndStockholdersEquityAbstract" xlink:to="StockholdersEquityAbstract" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to StockholdersEquityAbstract" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="LiabilitiesAndStockholdersEquity" xlink:title="LiabilitiesAndStockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="LiabilitiesAndStockholdersEquity" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to LiabilitiesAndStockholdersEquity" order="10.0" 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="StatementLineItems" xlink:to="LiabilitiesAndStockholdersEquityAbstract" xlink:title="presentation: StatementLineItems to LiabilitiesAndStockholdersEquityAbstract" order="1.0" 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="StatementTable" xlink:to="StatementLineItems" xlink:title="presentation: StatementTable to StatementLineItems" order="1.0" 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="StatementOfFinancialPositionAbstract" xlink:to="StatementTable" xlink:title="presentation: StatementOfFinancialPositionAbstract to StatementTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical">
    <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="StatementOfFinancialPositionAbstract" xlink:title="StatementOfFinancialPositionAbstract" />
    <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="StatementTable" xlink:title="StatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="StatementClassOfStockAxis" xlink:title="StatementClassOfStockAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="ClassOfStockDomain" xlink:title="ClassOfStockDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SeriesAPreferredStockMember" xlink:label="SeriesAPreferredStockMember" xlink:title="SeriesAPreferredStockMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ClassOfStockDomain" xlink:to="SeriesAPreferredStockMember" xlink:title="presentation: ClassOfStockDomain to SeriesAPreferredStockMember" order="0.0" 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="StatementClassOfStockAxis" xlink:to="ClassOfStockDomain" xlink:title="presentation: StatementClassOfStockAxis to ClassOfStockDomain" order="0.0" 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="StatementTable" xlink:to="StatementClassOfStockAxis" xlink:title="presentation: StatementTable to StatementClassOfStockAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="StatementLineItems" xlink:title="StatementLineItems" />
    <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="LiabilitiesAndStockholdersEquityAbstract" xlink:title="LiabilitiesAndStockholdersEquityAbstract" />
    <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="StockholdersEquityAbstract" xlink:title="StockholdersEquityAbstract" />
    <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="PreferredStockParOrStatedValuePerShare" xlink:title="PreferredStockParOrStatedValuePerShare" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="PreferredStockParOrStatedValuePerShare" xlink:title="presentation: StockholdersEquityAbstract to PreferredStockParOrStatedValuePerShare" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="PreferredStockSharesAuthorized" xlink:title="PreferredStockSharesAuthorized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="PreferredStockSharesAuthorized" xlink:title="presentation: StockholdersEquityAbstract to PreferredStockSharesAuthorized" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="PreferredStockSharesIssued" xlink:title="PreferredStockSharesIssued" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="PreferredStockSharesIssued" xlink:title="presentation: StockholdersEquityAbstract to PreferredStockSharesIssued" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="PreferredStockSharesOutstanding" xlink:title="PreferredStockSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="PreferredStockSharesOutstanding" xlink:title="presentation: StockholdersEquityAbstract to PreferredStockSharesOutstanding" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="CommonStockParOrStatedValuePerShare" xlink:title="CommonStockParOrStatedValuePerShare" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockParOrStatedValuePerShare" xlink:title="presentation: StockholdersEquityAbstract to CommonStockParOrStatedValuePerShare" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="CommonStockSharesAuthorized" xlink:title="CommonStockSharesAuthorized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockSharesAuthorized" xlink:title="presentation: StockholdersEquityAbstract to CommonStockSharesAuthorized" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="CommonStockSharesIssued" xlink:title="CommonStockSharesIssued" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockSharesIssued" xlink:title="presentation: StockholdersEquityAbstract to CommonStockSharesIssued" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="CommonStockSharesOutstanding" xlink:title="CommonStockSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockSharesOutstanding" xlink:title="presentation: StockholdersEquityAbstract to CommonStockSharesOutstanding" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockShares" xlink:label="TreasuryStockShares" xlink:title="TreasuryStockShares" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="TreasuryStockShares" xlink:title="presentation: StockholdersEquityAbstract to TreasuryStockShares" order="8.0" 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="LiabilitiesAndStockholdersEquityAbstract" xlink:to="StockholdersEquityAbstract" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to StockholdersEquityAbstract" order="0.0" 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="StatementLineItems" xlink:to="LiabilitiesAndStockholdersEquityAbstract" xlink:title="presentation: StatementLineItems to LiabilitiesAndStockholdersEquityAbstract" order="0.0" 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="StatementTable" xlink:to="StatementLineItems" xlink:title="presentation: StatementTable to StatementLineItems" order="1.0" 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="StatementOfFinancialPositionAbstract" xlink:to="StatementTable" xlink:title="presentation: StatementOfFinancialPositionAbstract to StatementTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfOperations">
    <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="IncomeStatementAbstract" xlink:title="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="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="presentation: IncomeStatementAbstract to RevenueFromContractWithCustomerExcludingAssessedTax" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="CostOfRevenue" xlink:title="CostOfRevenue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="CostOfRevenue" xlink:title="presentation: IncomeStatementAbstract to CostOfRevenue" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="GrossProfit" xlink:title="GrossProfit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="GrossProfit" xlink:title="presentation: IncomeStatementAbstract to GrossProfit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <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="OperatingExpensesAbstract" xlink:title="OperatingExpensesAbstract" />
    <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="ResearchAndDevelopmentExpense" xlink:title="ResearchAndDevelopmentExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingExpensesAbstract" xlink:to="ResearchAndDevelopmentExpense" xlink:title="presentation: OperatingExpensesAbstract to ResearchAndDevelopmentExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="SellingAndMarketingExpense" xlink:title="SellingAndMarketingExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingExpensesAbstract" xlink:to="SellingAndMarketingExpense" xlink:title="presentation: OperatingExpensesAbstract to SellingAndMarketingExpense" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="GeneralAndAdministrativeExpense" xlink:title="GeneralAndAdministrativeExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingExpensesAbstract" xlink:to="GeneralAndAdministrativeExpense" xlink:title="presentation: OperatingExpensesAbstract to GeneralAndAdministrativeExpense" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LitigationSettlementExpense" xlink:label="LitigationSettlementExpense" xlink:title="LitigationSettlementExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingExpensesAbstract" xlink:to="LitigationSettlementExpense" xlink:title="presentation: OperatingExpensesAbstract to LitigationSettlementExpense" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <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="OperatingExpenses" xlink:title="OperatingExpenses" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingExpensesAbstract" xlink:to="OperatingExpenses" xlink:title="presentation: OperatingExpensesAbstract to OperatingExpenses" order="4.0" 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="IncomeStatementAbstract" xlink:to="OperatingExpensesAbstract" xlink:title="presentation: IncomeStatementAbstract to OperatingExpensesAbstract" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="OperatingIncomeLoss" xlink:title="OperatingIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="OperatingIncomeLoss" xlink:title="presentation: IncomeStatementAbstract to OperatingIncomeLoss" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <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="NonoperatingIncomeExpenseAbstract" xlink:title="NonoperatingIncomeExpenseAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestExpense" xlink:label="InterestExpense" xlink:title="InterestExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NonoperatingIncomeExpenseAbstract" xlink:to="InterestExpense" xlink:title="presentation: NonoperatingIncomeExpenseAbstract to InterestExpense" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestIncomeDomesticDeposits" xlink:label="InterestIncomeDomesticDeposits" xlink:title="InterestIncomeDomesticDeposits" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NonoperatingIncomeExpenseAbstract" xlink:to="InterestIncomeDomesticDeposits" xlink:title="presentation: NonoperatingIncomeExpenseAbstract to InterestIncomeDomesticDeposits" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="OtherNonoperatingIncomeExpense" xlink:title="OtherNonoperatingIncomeExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NonoperatingIncomeExpenseAbstract" xlink:to="OtherNonoperatingIncomeExpense" xlink:title="presentation: NonoperatingIncomeExpenseAbstract to OtherNonoperatingIncomeExpense" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_GainFromEmployeeRetentionCredit" xlink:label="GainFromEmployeeRetentionCredit" xlink:title="GainFromEmployeeRetentionCredit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NonoperatingIncomeExpenseAbstract" xlink:to="GainFromEmployeeRetentionCredit" xlink:title="presentation: NonoperatingIncomeExpenseAbstract to GainFromEmployeeRetentionCredit" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnNonRecourseDebt" xlink:label="GainLossOnNonRecourseDebt" xlink:title="GainLossOnNonRecourseDebt" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NonoperatingIncomeExpenseAbstract" xlink:to="GainLossOnNonRecourseDebt" xlink:title="presentation: NonoperatingIncomeExpenseAbstract to GainLossOnNonRecourseDebt" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="NonoperatingIncomeExpense" xlink:title="NonoperatingIncomeExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NonoperatingIncomeExpenseAbstract" xlink:to="NonoperatingIncomeExpense" xlink:title="presentation: NonoperatingIncomeExpenseAbstract to NonoperatingIncomeExpense" order="5.0" 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="IncomeStatementAbstract" xlink:to="NonoperatingIncomeExpenseAbstract" xlink:title="presentation: IncomeStatementAbstract to NonoperatingIncomeExpenseAbstract" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="presentation: IncomeStatementAbstract to IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <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="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="IncomeTaxExpenseBenefit" xlink:title="presentation: IncomeStatementAbstract to IncomeTaxExpenseBenefit" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: IncomeStatementAbstract to NetIncomeLoss" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:label="EarningsPerShareBasicAndDilutedAbstract" xlink:title="EarningsPerShareBasicAndDilutedAbstract" />
    <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="EarningsPerShareBasic" xlink:title="EarningsPerShareBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareBasicAndDilutedAbstract" xlink:to="EarningsPerShareBasic" xlink:title="presentation: EarningsPerShareBasicAndDilutedAbstract to EarningsPerShareBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="EarningsPerShareDiluted" xlink:title="EarningsPerShareDiluted" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareBasicAndDilutedAbstract" xlink:to="EarningsPerShareDiluted" xlink:title="presentation: EarningsPerShareBasicAndDilutedAbstract to EarningsPerShareDiluted" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="EarningsPerShareBasicAndDilutedAbstract" xlink:title="presentation: IncomeStatementAbstract to EarningsPerShareBasicAndDilutedAbstract" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" xlink:label="EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" xlink:title="EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" />
    <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="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" xlink:to="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="presentation: EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract to WeightedAverageNumberOfSharesOutstandingBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <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="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" xlink:to="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="presentation: EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract to WeightedAverageNumberOfDilutedSharesOutstanding" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" xlink:title="presentation: IncomeStatementAbstract to EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CommonStockDividendsPerShareCashPaid" xlink:label="CommonStockDividendsPerShareCashPaid" xlink:title="CommonStockDividendsPerShareCashPaid" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="CommonStockDividendsPerShareCashPaid" xlink:title="presentation: IncomeStatementAbstract to CommonStockDividendsPerShareCashPaid" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveLoss">
    <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="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:title="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="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: StatementOfIncomeAndComprehensiveIncomeAbstract to NetIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="presentation: StatementOfIncomeAndComprehensiveIncomeAbstract to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="ComprehensiveIncomeNetOfTax" xlink:title="ComprehensiveIncomeNetOfTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="ComprehensiveIncomeNetOfTax" xlink:title="presentation: StatementOfIncomeAndComprehensiveIncomeAbstract to ComprehensiveIncomeNetOfTax" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity">
    <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="StatementOfStockholdersEquityAbstract" xlink:title="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="StatementTable" xlink:title="StatementTable" />
    <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="StatementEquityComponentsAxis" xlink:title="StatementEquityComponentsAxis" />
    <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="CommonStockMember" xlink:title="CommonStockMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="CommonStockMember" xlink:title="presentation: StatementEquityComponentsAxis to CommonStockMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="AdditionalPaidInCapitalMember" xlink:title="AdditionalPaidInCapitalMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="AdditionalPaidInCapitalMember" xlink:title="presentation: StatementEquityComponentsAxis to AdditionalPaidInCapitalMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="RetainedEarningsMember" xlink:title="RetainedEarningsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="RetainedEarningsMember" xlink:title="presentation: StatementEquityComponentsAxis to RetainedEarningsMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockMember" xlink:label="TreasuryStockMember" xlink:title="TreasuryStockMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="TreasuryStockMember" xlink:title="presentation: StatementEquityComponentsAxis to TreasuryStockMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="AccumulatedOtherComprehensiveIncomeMember" xlink:title="AccumulatedOtherComprehensiveIncomeMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="AccumulatedOtherComprehensiveIncomeMember" xlink:title="presentation: StatementEquityComponentsAxis to AccumulatedOtherComprehensiveIncomeMember" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="EquityComponentDomain" xlink:title="EquityComponentDomain" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="EquityComponentDomain" xlink:title="presentation: StatementEquityComponentsAxis to EquityComponentDomain" order="5.0" 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="StatementTable" xlink:to="StatementEquityComponentsAxis" xlink:title="presentation: StatementTable to StatementEquityComponentsAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="StatementLineItems" xlink:title="StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="IncreaseDecreaseInStockholdersEquityRollForward" />
    <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="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockholdersEquity" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockholdersEquity" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <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="CommonStockSharesIssued" xlink:title="CommonStockSharesIssued" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="CommonStockSharesIssued" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to CommonStockSharesIssued" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" xlink:label="StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" xlink:title="StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockIssuedDuringPeriodSharesStockOptionsExercised" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:title="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:label="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:title="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="StockIssuedDuringPeriodValueNewIssues" xlink:title="StockIssuedDuringPeriodValueNewIssues" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockIssuedDuringPeriodValueNewIssues" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockIssuedDuringPeriodValueNewIssues" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="StockIssuedDuringPeriodSharesNewIssues" xlink:title="StockIssuedDuringPeriodSharesNewIssues" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockIssuedDuringPeriodSharesNewIssues" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockIssuedDuringPeriodSharesNewIssues" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" xlink:label="AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" xlink:title="AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to SharesPaidForTaxWithholdingForShareBasedCompensation" order="9.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <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="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="NetIncomeLoss" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to NetIncomeLoss" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="StockholdersEquity_2" xlink:title="StockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockholdersEquity_2" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockholdersEquity" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <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="CommonStockSharesIssued_2" xlink:title="CommonStockSharesIssued" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="CommonStockSharesIssued_2" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to CommonStockSharesIssued" order="14.0" 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="StatementLineItems" xlink:to="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="presentation: StatementLineItems to IncreaseDecreaseInStockholdersEquityRollForward" order="0.0" 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="StatementTable" xlink:to="StatementLineItems" xlink:title="presentation: StatementTable to StatementLineItems" order="1.0" 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="StatementOfStockholdersEquityAbstract" xlink:to="StatementTable" xlink:title="presentation: StatementOfStockholdersEquityAbstract to StatementTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows">
    <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="StatementOfCashFlowsAbstract" xlink:title="StatementOfCashFlowsAbstract" />
    <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="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <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="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: NetCashProvidedByUsedInOperatingActivitiesAbstract to NetIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <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="ShareBasedCompensation" xlink:title="ShareBasedCompensation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="ShareBasedCompensation" xlink:title="presentation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to ShareBasedCompensation" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DepreciationAndAmortization" xlink:label="DepreciationAndAmortization" xlink:title="DepreciationAndAmortization" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="DepreciationAndAmortization" xlink:title="presentation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to DepreciationAndAmortization" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="DeferredIncomeTaxExpenseBenefit" xlink:title="DeferredIncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="DeferredIncomeTaxExpenseBenefit" xlink:title="presentation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to DeferredIncomeTaxExpenseBenefit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProvisionForLoanLeaseAndOtherLosses" xlink:label="ProvisionForLoanLeaseAndOtherLosses" xlink:title="ProvisionForLoanLeaseAndOtherLosses" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="ProvisionForLoanLeaseAndOtherLosses" xlink:title="presentation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to ProvisionForLoanLeaseAndOtherLosses" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnSaleOfProperty" xlink:label="GainLossOnSaleOfProperty" xlink:title="GainLossOnSaleOfProperty" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="GainLossOnSaleOfProperty" xlink:title="presentation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to GainLossOnSaleOfProperty" order="4.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="ForeignCurrencyTransactionGainLossBeforeTax" xlink:title="ForeignCurrencyTransactionGainLossBeforeTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="ForeignCurrencyTransactionGainLossBeforeTax" xlink:title="presentation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to ForeignCurrencyTransactionGainLossBeforeTax" order="5.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GainLossOnNonRecourseDebt" xlink:label="GainLossOnNonRecourseDebt" xlink:title="GainLossOnNonRecourseDebt" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="GainLossOnNonRecourseDebt" xlink:title="presentation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to GainLossOnNonRecourseDebt" order="6.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <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="IncreaseDecreaseInOperatingCapitalAbstract" xlink:title="IncreaseDecreaseInOperatingCapitalAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInReceivables" xlink:label="IncreaseDecreaseInReceivables" xlink:title="IncreaseDecreaseInReceivables" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInReceivables" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInReceivables" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable" xlink:label="IncreaseDecreaseInEmployeeRetentionCreditReceivable" xlink:title="IncreaseDecreaseInEmployeeRetentionCreditReceivable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInEmployeeRetentionCreditReceivable" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInEmployeeRetentionCreditReceivable" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="IncreaseDecreaseInInventories" xlink:title="IncreaseDecreaseInInventories" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInInventories" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInInventories" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:label="IncreaseDecreaseInPrepaidTaxes" xlink:title="IncreaseDecreaseInPrepaidTaxes" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInPrepaidTaxes" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInPrepaidTaxes" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="IncreaseDecreaseInOtherOperatingAssets" xlink:title="IncreaseDecreaseInOtherOperatingAssets" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInOtherOperatingAssets" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInOtherOperatingAssets" order="4.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <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="IncreaseDecreaseInAccountsPayable" xlink:title="IncreaseDecreaseInAccountsPayable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInAccountsPayable" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInAccountsPayable" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:title="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="IncreaseDecreaseInOperatingCapitalAbstract" xlink:title="presentation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to IncreaseDecreaseInOperatingCapitalAbstract" order="7.0" 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="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="presentation: NetCashProvidedByUsedInOperatingActivitiesAbstract to AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="NetCashProvidedByUsedInOperatingActivities" xlink:title="NetCashProvidedByUsedInOperatingActivities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="NetCashProvidedByUsedInOperatingActivities" xlink:title="presentation: NetCashProvidedByUsedInOperatingActivitiesAbstract to NetCashProvidedByUsedInOperatingActivities" order="2.0" 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="StatementOfCashFlowsAbstract" xlink:to="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to NetCashProvidedByUsedInOperatingActivitiesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:title="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="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="presentation: NetCashProvidedByUsedInInvestingActivitiesAbstract to PaymentsToAcquirePropertyPlantAndEquipment" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForSoftware" xlink:label="PaymentsForSoftware" xlink:title="PaymentsForSoftware" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="PaymentsForSoftware" xlink:title="presentation: NetCashProvidedByUsedInInvestingActivitiesAbstract to PaymentsForSoftware" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:title="ProceedsFromSaleOfPropertyPlantAndEquipment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:title="presentation: NetCashProvidedByUsedInInvestingActivitiesAbstract to ProceedsFromSaleOfPropertyPlantAndEquipment" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PaymentsForProceedsFromNotesReceivable" xlink:label="PaymentsForProceedsFromNotesReceivable" xlink:title="PaymentsForProceedsFromNotesReceivable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="PaymentsForProceedsFromNotesReceivable" xlink:title="presentation: NetCashProvidedByUsedInInvestingActivitiesAbstract to PaymentsForProceedsFromNotesReceivable" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <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="NetCashProvidedByUsedInInvestingActivities" xlink:title="NetCashProvidedByUsedInInvestingActivities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="NetCashProvidedByUsedInInvestingActivities" xlink:title="presentation: NetCashProvidedByUsedInInvestingActivitiesAbstract to NetCashProvidedByUsedInInvestingActivities" order="4.0" 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="StatementOfCashFlowsAbstract" xlink:to="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to NetCashProvidedByUsedInInvestingActivitiesAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="ProceedsFromLinesOfCredit" xlink:title="ProceedsFromLinesOfCredit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="ProceedsFromLinesOfCredit" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to ProceedsFromLinesOfCredit" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="RepaymentsOfLinesOfCredit" xlink:title="RepaymentsOfLinesOfCredit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="RepaymentsOfLinesOfCredit" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to RepaymentsOfLinesOfCredit" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt" xlink:label="ProceedsFromIssuanceOfOtherLongTermDebt" xlink:title="ProceedsFromIssuanceOfOtherLongTermDebt" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="ProceedsFromIssuanceOfOtherLongTermDebt" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to ProceedsFromIssuanceOfOtherLongTermDebt" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="ProceedsFromStockOptionsExercised" xlink:title="ProceedsFromStockOptionsExercised" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="ProceedsFromStockOptionsExercised" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to ProceedsFromStockOptionsExercised" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsForRepurchaseOfEquity" xlink:label="PaymentsForRepurchaseOfEquity" xlink:title="PaymentsForRepurchaseOfEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="PaymentsForRepurchaseOfEquity" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to PaymentsForRepurchaseOfEquity" order="4.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="PaymentsOfDividendsCommonStock" xlink:title="PaymentsOfDividendsCommonStock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="PaymentsOfDividendsCommonStock" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to PaymentsOfDividendsCommonStock" order="5.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="ProceedsFromIssuanceOfCommonStock" xlink:title="ProceedsFromIssuanceOfCommonStock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="ProceedsFromIssuanceOfCommonStock" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to ProceedsFromIssuanceOfCommonStock" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="PaymentsOfStockIssuanceCosts" xlink:title="PaymentsOfStockIssuanceCosts" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="PaymentsOfStockIssuanceCosts" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to PaymentsOfStockIssuanceCosts" order="7.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:label="ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:title="ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to ExcessTaxBenefitFromShareBasedCompensationFinancingActivities" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PaymentsOfLoanCosts" xlink:label="PaymentsOfLoanCosts" xlink:title="PaymentsOfLoanCosts" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="PaymentsOfLoanCosts" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to PaymentsOfLoanCosts" order="9.0" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <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="NetCashProvidedByUsedInFinancingActivities" xlink:title="NetCashProvidedByUsedInFinancingActivities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="NetCashProvidedByUsedInFinancingActivities" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to NetCashProvidedByUsedInFinancingActivities" order="10.0" 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="StatementOfCashFlowsAbstract" xlink:to="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to NetCashProvidedByUsedInFinancingActivitiesAbstract" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="presentation: StatementOfCashFlowsAbstract to EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="presentation: StatementOfCashFlowsAbstract to CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <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="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="presentation: StatementOfCashFlowsAbstract to CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <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="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2" xlink:title="presentation: StatementOfCashFlowsAbstract to CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <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="SupplementalCashFlowInformationAbstract" xlink:title="SupplementalCashFlowInformationAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InterestPaidNet" xlink:label="InterestPaidNet" xlink:title="InterestPaidNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SupplementalCashFlowInformationAbstract" xlink:to="InterestPaidNet" xlink:title="presentation: SupplementalCashFlowInformationAbstract to InterestPaidNet" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxesPaid" xlink:label="IncomeTaxesPaid" xlink:title="IncomeTaxesPaid" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SupplementalCashFlowInformationAbstract" xlink:to="IncomeTaxesPaid" xlink:title="presentation: SupplementalCashFlowInformationAbstract to IncomeTaxesPaid" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="CapitalExpendituresIncurredButNotYetPaid" xlink:title="CapitalExpendituresIncurredButNotYetPaid" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SupplementalCashFlowInformationAbstract" xlink:to="CapitalExpendituresIncurredButNotYetPaid" xlink:title="presentation: SupplementalCashFlowInformationAbstract to CapitalExpendituresIncurredButNotYetPaid" order="2.0" 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="StatementOfCashFlowsAbstract" xlink:to="SupplementalCashFlowInformationAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to SupplementalCashFlowInformationAbstract" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/DescriptionOfBusiness">
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_DescriptionOfBusinessAbstract" xlink:label="DescriptionOfBusinessAbstract" xlink:title="DescriptionOfBusinessAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NatureOfOperations" xlink:label="NatureOfOperations" xlink:title="NatureOfOperations" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DescriptionOfBusinessAbstract" xlink:to="NatureOfOperations" xlink:title="presentation: DescriptionOfBusinessAbstract to NatureOfOperations" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPolicies">
    <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="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:title="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/NoteReceivable">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsAndNotesReceivableNetAbstract" xlink:label="AccountsAndNotesReceivableNetAbstract" xlink:title="AccountsAndNotesReceivableNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:label="LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:title="LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountsAndNotesReceivableNetAbstract" xlink:to="LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:title="presentation: AccountsAndNotesReceivableNetAbstract to LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Inventories">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" xlink:title="InventoryDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="InventoryDisclosureTextBlock" xlink:title="InventoryDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="InventoryDisclosureTextBlock" xlink:title="presentation: InventoryDisclosureAbstract to InventoryDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/FixedAssetsNet">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" xlink:title="PropertyPlantAndEquipmentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="PropertyPlantAndEquipmentDisclosureTextBlock" xlink:title="PropertyPlantAndEquipmentDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="PropertyPlantAndEquipmentDisclosureTextBlock" xlink:title="presentation: PropertyPlantAndEquipmentAbstract to PropertyPlantAndEquipmentDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IntangibleAssetsNet">
    <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="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:title="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="IntangibleAssetsDisclosureTextBlock" xlink:title="IntangibleAssetsDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="IntangibleAssetsDisclosureTextBlock" xlink:title="presentation: GoodwillAndIntangibleAssetsDisclosureAbstract to IntangibleAssetsDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/AccruedLiabilities">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="PayablesAndAccrualsAbstract" xlink:title="PayablesAndAccrualsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:title="AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PayablesAndAccrualsAbstract" xlink:to="AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:title="presentation: PayablesAndAccrualsAbstract to AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RetirementSavingsPlan">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="CompensationAndRetirementDisclosureAbstract" xlink:title="CompensationAndRetirementDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CompensationAndEmployeeBenefitPlansTextBlock" xlink:label="CompensationAndEmployeeBenefitPlansTextBlock" xlink:title="CompensationAndEmployeeBenefitPlansTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="CompensationAndEmployeeBenefitPlansTextBlock" xlink:title="presentation: CompensationAndRetirementDisclosureAbstract to CompensationAndEmployeeBenefitPlansTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Borrowings">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" xlink:title="DebtDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="DebtDisclosureTextBlock" xlink:title="DebtDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="DebtDisclosureTextBlock" xlink:title="presentation: DebtDisclosureAbstract to DebtDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlans">
    <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="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="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="DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:title="DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxes">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="IncomeTaxDisclosureTextBlock" xlink:title="IncomeTaxDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="IncomeTaxDisclosureTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to IncomeTaxDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShare">
    <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="EarningsPerShareAbstract" xlink:title="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="EarningsPerShareTextBlock" xlink:title="EarningsPerShareTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="EarningsPerShareTextBlock" xlink:title="presentation: EarningsPerShareAbstract to EarningsPerShareTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockRepurchaseProgram">
    <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="EquityAbstract" xlink:title="EquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TreasuryStockTextBlock" xlink:label="TreasuryStockTextBlock" xlink:title="TreasuryStockTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAbstract" xlink:to="TreasuryStockTextBlock" xlink:title="presentation: EquityAbstract to TreasuryStockTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/GeographicAreaInformation">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" xlink:title="SegmentReportingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="SegmentReportingDisclosureTextBlock" xlink:title="SegmentReportingDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="SegmentReportingDisclosureTextBlock" xlink:title="presentation: SegmentReportingAbstract to SegmentReportingDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Leases">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="LesseeOperatingLeasesTextBlock" xlink:title="LesseeOperatingLeasesTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeasesTextBlock" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeasesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnaudited">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:label="QuarterlyFinancialInformationDisclosureAbstract" xlink:title="QuarterlyFinancialInformationDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_QuarterlyFinancialInformationTextBlock" xlink:label="QuarterlyFinancialInformationTextBlock" xlink:title="QuarterlyFinancialInformationTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="QuarterlyFinancialInformationDisclosureAbstract" xlink:to="QuarterlyFinancialInformationTextBlock" xlink:title="presentation: QuarterlyFinancialInformationDisclosureAbstract to QuarterlyFinancialInformationTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SubsequentEvents">
    <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="SubsequentEventsAbstract" xlink:title="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="SubsequentEventsTextBlock" xlink:title="SubsequentEventsTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SubsequentEventsAbstract" xlink:to="SubsequentEventsTextBlock" xlink:title="presentation: SubsequentEventsAbstract to SubsequentEventsTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies">
    <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="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="ConsolidationPolicyTextBlock" xlink:title="ConsolidationPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ConsolidationPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to ConsolidationPolicyTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="UseOfEstimates" xlink:title="UseOfEstimates" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="UseOfEstimates" xlink:title="presentation: AccountingPoliciesAbstract to UseOfEstimates" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="SegmentReportingPolicyPolicyTextBlock" xlink:title="SegmentReportingPolicyPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="SegmentReportingPolicyPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to SegmentReportingPolicyPolicyTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="CashAndCashEquivalentsPolicyTextBlock" xlink:title="CashAndCashEquivalentsPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="CashAndCashEquivalentsPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to CashAndCashEquivalentsPolicyTextBlock" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:label="ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:title="ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:title="presentation: AccountingPoliciesAbstract to ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="InventoryPolicyTextBlock" xlink:title="InventoryPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="InventoryPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to InventoryPolicyTextBlock" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="PropertyPlantAndEquipmentPolicyTextBlock" xlink:title="PropertyPlantAndEquipmentPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="PropertyPlantAndEquipmentPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to PropertyPlantAndEquipmentPolicyTextBlock" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="LesseeLeasesPolicyTextBlock" xlink:title="LesseeLeasesPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="LesseeLeasesPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to LesseeLeasesPolicyTextBlock" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:title="GoodwillAndIntangibleAssetsPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to GoodwillAndIntangibleAssetsPolicyTextBlock" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="RevenueFromContractWithCustomerPolicyTextBlock" xlink:title="RevenueFromContractWithCustomerPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="RevenueFromContractWithCustomerPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to RevenueFromContractWithCustomerPolicyTextBlock" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="ConcentrationRiskCreditRisk" xlink:title="ConcentrationRiskCreditRisk" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ConcentrationRiskCreditRisk" xlink:title="presentation: AccountingPoliciesAbstract to ConcentrationRiskCreditRisk" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StandardProductWarrantyPolicy" xlink:label="StandardProductWarrantyPolicy" xlink:title="StandardProductWarrantyPolicy" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="StandardProductWarrantyPolicy" xlink:title="presentation: AccountingPoliciesAbstract to StandardProductWarrantyPolicy" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="ResearchAndDevelopmentExpensePolicy" xlink:title="ResearchAndDevelopmentExpensePolicy" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ResearchAndDevelopmentExpensePolicy" xlink:title="presentation: AccountingPoliciesAbstract to ResearchAndDevelopmentExpensePolicy" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="AdvertisingCostsPolicyTextBlock" xlink:title="AdvertisingCostsPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="AdvertisingCostsPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to AdvertisingCostsPolicyTextBlock" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="IncomeTaxPolicyTextBlock" xlink:title="IncomeTaxPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="IncomeTaxPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to IncomeTaxPolicyTextBlock" order="14.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:title="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" order="15.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:title="ShareBasedCompensationOptionAndIncentivePlansPolicy" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:title="presentation: AccountingPoliciesAbstract to ShareBasedCompensationOptionAndIncentivePlansPolicy" order="16.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="EarningsPerSharePolicyTextBlock" xlink:title="EarningsPerSharePolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="EarningsPerSharePolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to EarningsPerSharePolicyTextBlock" order="17.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables">
    <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="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:label="ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:title="ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="DisaggregationOfRevenueTableTextBlock" xlink:title="DisaggregationOfRevenueTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="DisaggregationOfRevenueTableTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to DisaggregationOfRevenueTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:title="ContractWithCustomerAssetAndLiabilityTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to ContractWithCustomerAssetAndLiabilityTableTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:title="SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:title="ScheduleOfProductWarrantyLiabilityTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to ScheduleOfProductWarrantyLiabilityTableTextBlock" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/InventoriesTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" xlink:title="InventoryDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="ScheduleOfInventoryCurrentTableTextBlock" xlink:title="ScheduleOfInventoryCurrentTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="ScheduleOfInventoryCurrentTableTextBlock" xlink:title="presentation: InventoryDisclosureAbstract to ScheduleOfInventoryCurrentTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/FixedAssetsNetTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" xlink:title="PropertyPlantAndEquipmentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="PropertyPlantAndEquipmentTextBlock" xlink:title="PropertyPlantAndEquipmentTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="PropertyPlantAndEquipmentTextBlock" xlink:title="presentation: PropertyPlantAndEquipmentAbstract to PropertyPlantAndEquipmentTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IntangibleAssetsNetTables">
    <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="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:title="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="ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:title="ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:title="presentation: GoodwillAndIntangibleAssetsDisclosureAbstract to ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/AccruedLiabilitiesTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="PayablesAndAccrualsAbstract" xlink:title="PayablesAndAccrualsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:title="ScheduleOfAccruedLiabilitiesTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PayablesAndAccrualsAbstract" xlink:to="ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:title="presentation: PayablesAndAccrualsAbstract to ScheduleOfAccruedLiabilitiesTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansTables">
    <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="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:title="ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:title="ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:title="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:title="ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:label="SummaryOfValuationAllowanceTextBlock" xlink:title="SummaryOfValuationAllowanceTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="SummaryOfValuationAllowanceTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to SummaryOfValuationAllowanceTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:title="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:label="SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:title="SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShareTables">
    <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="EarningsPerShareAbstract" xlink:title="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="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:title="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:title="presentation: EarningsPerShareAbstract to ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/GeographicAreaInformationTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" xlink:title="SegmentReportingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:label="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:title="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:title="presentation: SegmentReportingAbstract to ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:label="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:title="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:label="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:title="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:title="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeaseLiabilityMaturityTableTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:label="QuarterlyFinancialInformationDisclosureAbstract" xlink:title="QuarterlyFinancialInformationDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:label="ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:title="ScheduleOfQuarterlyFinancialInformationTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="QuarterlyFinancialInformationDisclosureAbstract" xlink:to="ScheduleOfQuarterlyFinancialInformationTableTextBlock" xlink:title="presentation: QuarterlyFinancialInformationDisclosureAbstract to ScheduleOfQuarterlyFinancialInformationTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/DescriptionOfBusinessDetails">
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_DescriptionOfBusinessAbstract" xlink:label="DescriptionOfBusinessAbstract" xlink:title="DescriptionOfBusinessAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="NumberOfOperatingSegments" xlink:title="NumberOfOperatingSegments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DescriptionOfBusinessAbstract" xlink:to="NumberOfOperatingSegments" xlink:title="presentation: DescriptionOfBusinessAbstract to NumberOfOperatingSegments" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_NumberOfSoftwareSolutions" xlink:label="NumberOfSoftwareSolutions" xlink:title="NumberOfSoftwareSolutions" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DescriptionOfBusinessAbstract" xlink:to="NumberOfSoftwareSolutions" xlink:title="presentation: DescriptionOfBusinessAbstract to NumberOfSoftwareSolutions" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnusualOrInfrequentItemTable" xlink:label="UnusualOrInfrequentItemTable" xlink:title="UnusualOrInfrequentItemTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnusualOrInfrequentItemAxis" xlink:label="UnusualOrInfrequentItemAxis" xlink:title="UnusualOrInfrequentItemAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnusualOrInfrequentItemDomain" xlink:label="UnusualOrInfrequentItemDomain" xlink:title="UnusualOrInfrequentItemDomain" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_Covid19Member" xlink:label="Covid19Member" xlink:title="Covid19Member" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="UnusualOrInfrequentItemDomain" xlink:to="Covid19Member" xlink:title="presentation: UnusualOrInfrequentItemDomain to Covid19Member" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="UnusualOrInfrequentItemAxis" xlink:to="UnusualOrInfrequentItemDomain" xlink:title="presentation: UnusualOrInfrequentItemAxis to UnusualOrInfrequentItemDomain" order="0.0" 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="UnusualOrInfrequentItemTable" xlink:to="UnusualOrInfrequentItemAxis" xlink:title="presentation: UnusualOrInfrequentItemTable to UnusualOrInfrequentItemAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnusualOrInfrequentItemLineItems" xlink:label="UnusualOrInfrequentItemLineItems" xlink:title="UnusualOrInfrequentItemLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtraordinaryAndUnusualItemsAbstract" xlink:label="ExtraordinaryAndUnusualItemsAbstract" xlink:title="ExtraordinaryAndUnusualItemsAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_NumberOfManufacturers" xlink:label="NumberOfManufacturers" xlink:title="NumberOfManufacturers" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ExtraordinaryAndUnusualItemsAbstract" xlink:to="NumberOfManufacturers" xlink:title="presentation: ExtraordinaryAndUnusualItemsAbstract to NumberOfManufacturers" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PercentageReductionInWorkforce" xlink:label="PercentageReductionInWorkforce" xlink:title="PercentageReductionInWorkforce" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ExtraordinaryAndUnusualItemsAbstract" xlink:to="PercentageReductionInWorkforce" xlink:title="presentation: ExtraordinaryAndUnusualItemsAbstract to PercentageReductionInWorkforce" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PercentageReductionInSalaries" xlink:label="PercentageReductionInSalaries" xlink:title="PercentageReductionInSalaries" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ExtraordinaryAndUnusualItemsAbstract" xlink:to="PercentageReductionInSalaries" xlink:title="presentation: ExtraordinaryAndUnusualItemsAbstract to PercentageReductionInSalaries" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PercentageReductionInCashRetainerFees" xlink:label="PercentageReductionInCashRetainerFees" xlink:title="PercentageReductionInCashRetainerFees" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ExtraordinaryAndUnusualItemsAbstract" xlink:to="PercentageReductionInCashRetainerFees" xlink:title="presentation: ExtraordinaryAndUnusualItemsAbstract to PercentageReductionInCashRetainerFees" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="ProceedsFromIssuanceOfCommonStock" xlink:title="ProceedsFromIssuanceOfCommonStock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ExtraordinaryAndUnusualItemsAbstract" xlink:to="ProceedsFromIssuanceOfCommonStock" xlink:title="presentation: ExtraordinaryAndUnusualItemsAbstract to ProceedsFromIssuanceOfCommonStock" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="StockIssuedDuringPeriodSharesNewIssues" xlink:title="StockIssuedDuringPeriodSharesNewIssues" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ExtraordinaryAndUnusualItemsAbstract" xlink:to="StockIssuedDuringPeriodSharesNewIssues" xlink:title="presentation: ExtraordinaryAndUnusualItemsAbstract to StockIssuedDuringPeriodSharesNewIssues" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_GainFromEmployeeRetentionCredit" xlink:label="GainFromEmployeeRetentionCredit" xlink:title="GainFromEmployeeRetentionCredit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ExtraordinaryAndUnusualItemsAbstract" xlink:to="GainFromEmployeeRetentionCredit" xlink:title="presentation: ExtraordinaryAndUnusualItemsAbstract to GainFromEmployeeRetentionCredit" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="UnusualOrInfrequentItemLineItems" xlink:to="ExtraordinaryAndUnusualItemsAbstract" xlink:title="presentation: UnusualOrInfrequentItemLineItems to ExtraordinaryAndUnusualItemsAbstract" order="0.0" 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="UnusualOrInfrequentItemTable" xlink:to="UnusualOrInfrequentItemLineItems" xlink:title="presentation: UnusualOrInfrequentItemTable to UnusualOrInfrequentItemLineItems" order="1.0" 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="DescriptionOfBusinessAbstract" xlink:to="UnusualOrInfrequentItemTable" xlink:title="presentation: DescriptionOfBusinessAbstract to UnusualOrInfrequentItemTable" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="DebtInstrumentTable" xlink:title="DebtInstrumentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="DebtInstrumentAxis" xlink:title="DebtInstrumentAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="DebtInstrumentNameDomain" xlink:title="DebtInstrumentNameDomain" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PaycheckProtectionProgramLoanMember" xlink:label="PaycheckProtectionProgramLoanMember" xlink:title="PaycheckProtectionProgramLoanMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentNameDomain" xlink:to="PaycheckProtectionProgramLoanMember" xlink:title="presentation: DebtInstrumentNameDomain to PaycheckProtectionProgramLoanMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:label="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="RevolvingCreditFacilitySienaLendingGroupLlcMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentNameDomain" xlink:to="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="presentation: DebtInstrumentNameDomain to RevolvingCreditFacilitySienaLendingGroupLlcMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentAxis" xlink:to="DebtInstrumentNameDomain" xlink:title="presentation: DebtInstrumentAxis to DebtInstrumentNameDomain" order="0.0" 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="DebtInstrumentTable" xlink:to="DebtInstrumentAxis" xlink:title="presentation: DebtInstrumentTable to DebtInstrumentAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="DebtInstrumentLineItems" xlink:title="DebtInstrumentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentsAbstract" xlink:label="DebtInstrumentsAbstract" xlink:title="DebtInstrumentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="DebtInstrumentFaceAmount" xlink:title="DebtInstrumentFaceAmount" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentsAbstract" xlink:to="DebtInstrumentFaceAmount" xlink:title="presentation: DebtInstrumentsAbstract to DebtInstrumentFaceAmount" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentsAbstract" xlink:to="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="presentation: DebtInstrumentsAbstract to LineOfCreditFacilityMaximumBorrowingCapacity" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentsAbstract" xlink:title="presentation: DebtInstrumentLineItems to DebtInstrumentsAbstract" order="0.0" 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="DebtInstrumentTable" xlink:to="DebtInstrumentLineItems" xlink:title="presentation: DebtInstrumentTable to DebtInstrumentLineItems" order="1.0" 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="DescriptionOfBusinessAbstract" xlink:to="DebtInstrumentTable" xlink:title="presentation: DescriptionOfBusinessAbstract to DebtInstrumentTable" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesSegmentReportingDetails">
    <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="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" xlink:title="SegmentReportingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="NumberOfOperatingSegments" xlink:title="NumberOfOperatingSegments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="NumberOfOperatingSegments" xlink:title="presentation: SegmentReportingAbstract to NumberOfOperatingSegments" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="SegmentReportingAbstract" xlink:title="presentation: AccountingPoliciesAbstract to SegmentReportingAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAllowanceForDoubtfulAccountsDetails">
    <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="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" xlink:label="AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" xlink:title="AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:label="AllowanceForDoubtfulAccountsReceivableRollforward" xlink:title="AllowanceForDoubtfulAccountsReceivableRollforward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AllowanceForDoubtfulAccountsReceivableRollforward" xlink:to="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="presentation: AllowanceForDoubtfulAccountsReceivableRollforward to AllowanceForDoubtfulAccountsReceivableCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <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="ProvisionForDoubtfulAccounts" xlink:title="ProvisionForDoubtfulAccounts" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AllowanceForDoubtfulAccountsReceivableRollforward" xlink:to="ProvisionForDoubtfulAccounts" xlink:title="presentation: AllowanceForDoubtfulAccountsReceivableRollforward to ProvisionForDoubtfulAccounts" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:title="AllowanceForDoubtfulAccountsReceivableWriteOffs" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AllowanceForDoubtfulAccountsReceivableRollforward" xlink:to="AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:title="presentation: AllowanceForDoubtfulAccountsReceivableRollforward to AllowanceForDoubtfulAccountsReceivableWriteOffs" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="AllowanceForDoubtfulAccountsReceivableCurrent_2" xlink:title="AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AllowanceForDoubtfulAccountsReceivableRollforward" xlink:to="AllowanceForDoubtfulAccountsReceivableCurrent_2" xlink:title="presentation: AllowanceForDoubtfulAccountsReceivableRollforward to AllowanceForDoubtfulAccountsReceivableCurrent" order="3.0" 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="AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" xlink:to="AllowanceForDoubtfulAccountsReceivableRollforward" xlink:title="presentation: AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract to AllowanceForDoubtfulAccountsReceivableRollforward" order="0.0" 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="AccountingPoliciesAbstract" xlink:to="AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" xlink:title="presentation: AccountingPoliciesAbstract to AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails">
    <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="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ToolsDiesAndMoldsMember" xlink:label="ToolsDiesAndMoldsMember" xlink:title="ToolsDiesAndMoldsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="ToolsDiesAndMoldsMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to ToolsDiesAndMoldsMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="MachineryAndEquipmentMember" xlink:title="MachineryAndEquipmentMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="MachineryAndEquipmentMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to MachineryAndEquipmentMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_FurnitureAndOfficeEquipmentMember" xlink:label="FurnitureAndOfficeEquipmentMember" xlink:title="FurnitureAndOfficeEquipmentMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FurnitureAndOfficeEquipmentMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to FurnitureAndOfficeEquipmentMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ComputerSoftwareAndEquipmentMember" xlink:label="ComputerSoftwareAndEquipmentMember" xlink:title="ComputerSoftwareAndEquipmentMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="ComputerSoftwareAndEquipmentMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to ComputerSoftwareAndEquipmentMember" order="3.0" 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="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain" xlink:title="presentation: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain" order="0.0" 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="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentByTypeAxis" xlink:title="presentation: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentByTypeAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="presentation: RangeMember to MinimumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="1.0" 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="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" 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="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="RangeAxis" xlink:title="presentation: ScheduleOfPropertyPlantAndEquipmentTable to RangeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="PropertyPlantAndEquipmentLineItems" xlink:title="PropertyPlantAndEquipmentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" xlink:title="PropertyPlantAndEquipmentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="PropertyPlantAndEquipmentUsefulLife" xlink:title="PropertyPlantAndEquipmentUsefulLife" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="PropertyPlantAndEquipmentUsefulLife" xlink:title="presentation: PropertyPlantAndEquipmentAbstract to PropertyPlantAndEquipmentUsefulLife" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="Depreciation" xlink:title="Depreciation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="Depreciation" xlink:title="presentation: PropertyPlantAndEquipmentAbstract to Depreciation" order="1.0" 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="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentAbstract" xlink:title="presentation: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentLineItems" xlink:title="presentation: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentLineItems" order="2.0" 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="AccountingPoliciesAbstract" xlink:to="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="presentation: AccountingPoliciesAbstract to ScheduleOfPropertyPlantAndEquipmentTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails">
    <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="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="LesseeLeaseDescriptionTable" xlink:title="LesseeLeaseDescriptionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_BuildingMember" xlink:label="BuildingMember" xlink:title="BuildingMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="BuildingMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to BuildingMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_FacilityInHamdenConnecticutMember" xlink:label="FacilityInHamdenConnecticutMember" xlink:title="FacilityInHamdenConnecticutMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FacilityInHamdenConnecticutMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to FacilityInHamdenConnecticutMember" order="1.0" 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="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain" xlink:title="presentation: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain" order="0.0" 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="LesseeLeaseDescriptionTable" xlink:to="PropertyPlantAndEquipmentByTypeAxis" xlink:title="presentation: LesseeLeaseDescriptionTable to PropertyPlantAndEquipmentByTypeAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="presentation: RangeMember to MinimumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="1.0" 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="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" 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="LesseeLeaseDescriptionTable" xlink:to="RangeAxis" xlink:title="presentation: LesseeLeaseDescriptionTable to RangeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="LesseeLeaseDescriptionLineItems" xlink:title="LesseeLeaseDescriptionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:label="AssetsAndLiabilitiesLesseeAbstract" xlink:title="AssetsAndLiabilitiesLesseeAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:label="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:title="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAndLiabilitiesLesseeAbstract" xlink:to="IncreaseDecreaseInOperatingLeaseRightOfUseAsset" xlink:title="presentation: AssetsAndLiabilitiesLesseeAbstract to IncreaseDecreaseInOperatingLeaseRightOfUseAsset" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="IncreaseDecreaseInOperatingLeaseLiability" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAndLiabilitiesLesseeAbstract" xlink:to="IncreaseDecreaseInOperatingLeaseLiability" xlink:title="presentation: AssetsAndLiabilitiesLesseeAbstract to IncreaseDecreaseInOperatingLeaseLiability" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseRemainingLeaseTerm" xlink:label="LesseeOperatingLeaseRemainingLeaseTerm" xlink:title="LesseeOperatingLeaseRemainingLeaseTerm" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAndLiabilitiesLesseeAbstract" xlink:to="LesseeOperatingLeaseRemainingLeaseTerm" xlink:title="presentation: AssetsAndLiabilitiesLesseeAbstract to LesseeOperatingLeaseRemainingLeaseTerm" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:label="LesseeOperatingLeaseRenewalTerm" xlink:title="LesseeOperatingLeaseRenewalTerm" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAndLiabilitiesLesseeAbstract" xlink:to="LesseeOperatingLeaseRenewalTerm" xlink:title="presentation: AssetsAndLiabilitiesLesseeAbstract to LesseeOperatingLeaseRenewalTerm" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeLeaseDescriptionLineItems" xlink:to="AssetsAndLiabilitiesLesseeAbstract" xlink:title="presentation: LesseeLeaseDescriptionLineItems to AssetsAndLiabilitiesLesseeAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeLeaseDescriptionTable" xlink:to="LesseeLeaseDescriptionLineItems" xlink:title="presentation: LesseeLeaseDescriptionTable to LesseeLeaseDescriptionLineItems" order="2.0" 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="AccountingPoliciesAbstract" xlink:to="LesseeLeaseDescriptionTable" xlink:title="presentation: AccountingPoliciesAbstract to LesseeLeaseDescriptionTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails">
    <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="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:label="GoodwillAndIntangibleAssetImpairment" xlink:title="GoodwillAndIntangibleAssetImpairment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="GoodwillAndIntangibleAssetImpairment" xlink:title="presentation: AccountingPoliciesAbstract to GoodwillAndIntangibleAssetImpairment" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails">
    <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="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" xlink:label="TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" xlink:title="TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" xlink:title="presentation: AccountingPoliciesAbstract to TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="DisaggregationOfRevenueTable" xlink:title="DisaggregationOfRevenueTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="ProductOrServiceAxis" xlink:title="ProductOrServiceAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="ProductsAndServicesDomain" xlink:title="ProductsAndServicesDomain" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_FoodServiceTechnologyMember" xlink:label="FoodServiceTechnologyMember" xlink:title="FoodServiceTechnologyMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductsAndServicesDomain" xlink:to="FoodServiceTechnologyMember" xlink:title="presentation: ProductsAndServicesDomain to FoodServiceTechnologyMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PosAutomationAndBankingMember" xlink:label="PosAutomationAndBankingMember" xlink:title="PosAutomationAndBankingMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductsAndServicesDomain" xlink:to="PosAutomationAndBankingMember" xlink:title="presentation: ProductsAndServicesDomain to PosAutomationAndBankingMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_CasinoAndGamingMember" xlink:label="CasinoAndGamingMember" xlink:title="CasinoAndGamingMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductsAndServicesDomain" xlink:to="CasinoAndGamingMember" xlink:title="presentation: ProductsAndServicesDomain to CasinoAndGamingMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_LotteryMember" xlink:label="LotteryMember" xlink:title="LotteryMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductsAndServicesDomain" xlink:to="LotteryMember" xlink:title="presentation: ProductsAndServicesDomain to LotteryMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PrintrexMember" xlink:label="PrintrexMember" xlink:title="PrintrexMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductsAndServicesDomain" xlink:to="PrintrexMember" xlink:title="presentation: ProductsAndServicesDomain to PrintrexMember" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_TransactServicesGroupMember" xlink:label="TransactServicesGroupMember" xlink:title="TransactServicesGroupMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductsAndServicesDomain" xlink:to="TransactServicesGroupMember" xlink:title="presentation: ProductsAndServicesDomain to TransactServicesGroupMember" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductOrServiceAxis" xlink:to="ProductsAndServicesDomain" xlink:title="presentation: ProductOrServiceAxis to ProductsAndServicesDomain" order="0.0" 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="DisaggregationOfRevenueTable" xlink:to="ProductOrServiceAxis" xlink:title="presentation: DisaggregationOfRevenueTable to ProductOrServiceAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="presentation: SegmentGeographicalDomain to US" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_InternationalMember" xlink:label="InternationalMember" xlink:title="InternationalMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="InternationalMember" xlink:title="presentation: SegmentGeographicalDomain to InternationalMember" order="1.0" 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="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="presentation: StatementGeographicalAxis to SegmentGeographicalDomain" order="0.0" 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="DisaggregationOfRevenueTable" xlink:to="StatementGeographicalAxis" xlink:title="presentation: DisaggregationOfRevenueTable to StatementGeographicalAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="DisaggregationOfRevenueLineItems" xlink:title="DisaggregationOfRevenueLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="DisaggregationOfRevenueAbstract" xlink:title="DisaggregationOfRevenueAbstract" />
    <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="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueAbstract" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="presentation: DisaggregationOfRevenueAbstract to RevenueFromContractWithCustomerExcludingAssessedTax" order="0.0" 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="DisaggregationOfRevenueLineItems" xlink:to="DisaggregationOfRevenueAbstract" xlink:title="presentation: DisaggregationOfRevenueLineItems to DisaggregationOfRevenueAbstract" order="0.0" 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="DisaggregationOfRevenueTable" xlink:to="DisaggregationOfRevenueLineItems" xlink:title="presentation: DisaggregationOfRevenueTable to DisaggregationOfRevenueLineItems" order="2.0" 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="AccountingPoliciesAbstract" xlink:to="DisaggregationOfRevenueTable" xlink:title="presentation: AccountingPoliciesAbstract to DisaggregationOfRevenueTable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails">
    <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="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ContractWithCustomerRevenueRecognized" xlink:label="ContractWithCustomerRevenueRecognized" xlink:title="ContractWithCustomerRevenueRecognized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ContractWithCustomerRevenueRecognized" xlink:title="presentation: AccountingPoliciesAbstract to ContractWithCustomerRevenueRecognized" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerLiabilityAbstract" xlink:label="ContractWithCustomerLiabilityAbstract" xlink:title="ContractWithCustomerLiabilityAbstract" />
    <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="ContractWithCustomerAssetNetCurrent" xlink:title="ContractWithCustomerAssetNetCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContractWithCustomerLiabilityAbstract" xlink:to="ContractWithCustomerAssetNetCurrent" xlink:title="presentation: ContractWithCustomerLiabilityAbstract to ContractWithCustomerAssetNetCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:label="ContractWithCustomerAssetNetNoncurrent" xlink:title="ContractWithCustomerAssetNetNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContractWithCustomerLiabilityAbstract" xlink:to="ContractWithCustomerAssetNetNoncurrent" xlink:title="presentation: ContractWithCustomerLiabilityAbstract to ContractWithCustomerAssetNetNoncurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:label="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:title="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContractWithCustomerLiabilityAbstract" xlink:to="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:title="presentation: ContractWithCustomerLiabilityAbstract to ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <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="ContractWithCustomerLiabilityCurrent" xlink:title="ContractWithCustomerLiabilityCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContractWithCustomerLiabilityAbstract" xlink:to="ContractWithCustomerLiabilityCurrent" xlink:title="presentation: ContractWithCustomerLiabilityAbstract to ContractWithCustomerLiabilityCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <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="ContractWithCustomerLiabilityNoncurrent" xlink:title="ContractWithCustomerLiabilityNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContractWithCustomerLiabilityAbstract" xlink:to="ContractWithCustomerLiabilityNoncurrent" xlink:title="presentation: ContractWithCustomerLiabilityAbstract to ContractWithCustomerLiabilityNoncurrent" order="4.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ContractWithCustomerAssetLiabilityNet" xlink:label="ContractWithCustomerAssetLiabilityNet" xlink:title="ContractWithCustomerAssetLiabilityNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContractWithCustomerLiabilityAbstract" xlink:to="ContractWithCustomerAssetLiabilityNet" xlink:title="presentation: ContractWithCustomerLiabilityAbstract to ContractWithCustomerAssetLiabilityNet" order="5.0" 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="AccountingPoliciesAbstract" xlink:to="ContractWithCustomerLiabilityAbstract" xlink:title="presentation: AccountingPoliciesAbstract to ContractWithCustomerLiabilityAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails">
    <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="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <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="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="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="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:title="presentation: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenuePerformanceObligationAbstract" xlink:label="RevenuePerformanceObligationAbstract" xlink:title="RevenuePerformanceObligationAbstract" />
    <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="RevenueRemainingPerformanceObligation" xlink:title="RevenueRemainingPerformanceObligation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenuePerformanceObligationAbstract" xlink:to="RevenueRemainingPerformanceObligation" xlink:title="presentation: RevenuePerformanceObligationAbstract to RevenueRemainingPerformanceObligation" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenuePerformanceObligationAbstract" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="presentation: RevenuePerformanceObligationAbstract to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenuePerformanceObligationAbstract" xlink:title="presentation: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenuePerformanceObligationAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:title="presentation: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" order="1.0" 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="AccountingPoliciesAbstract" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="presentation: AccountingPoliciesAbstract to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails">
    <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="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskTable" xlink:label="ConcentrationRiskTable" xlink:title="ConcentrationRiskTable" />
    <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="ConcentrationRiskByBenchmarkAxis" xlink:title="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="ConcentrationRiskBenchmarkDomain" xlink:title="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="AccountsReceivableMember" xlink:title="AccountsReceivableMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="AccountsReceivableMember" xlink:title="presentation: ConcentrationRiskBenchmarkDomain to AccountsReceivableMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="SalesRevenueNetMember" xlink:title="SalesRevenueNetMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="SalesRevenueNetMember" xlink:title="presentation: ConcentrationRiskBenchmarkDomain to SalesRevenueNetMember" order="1.0" 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="ConcentrationRiskByBenchmarkAxis" xlink:to="ConcentrationRiskBenchmarkDomain" xlink:title="presentation: ConcentrationRiskByBenchmarkAxis to ConcentrationRiskBenchmarkDomain" order="0.0" 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="ConcentrationRiskTable" xlink:to="ConcentrationRiskByBenchmarkAxis" xlink:title="presentation: ConcentrationRiskTable to ConcentrationRiskByBenchmarkAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="ConcentrationRiskByTypeAxis" xlink:title="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="ConcentrationRiskTypeDomain" xlink:title="ConcentrationRiskTypeDomain" />
    <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="CustomerConcentrationRiskMember" xlink:title="CustomerConcentrationRiskMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskTypeDomain" xlink:to="CustomerConcentrationRiskMember" xlink:title="presentation: ConcentrationRiskTypeDomain to CustomerConcentrationRiskMember" order="0.0" 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="ConcentrationRiskByTypeAxis" xlink:to="ConcentrationRiskTypeDomain" xlink:title="presentation: ConcentrationRiskByTypeAxis to ConcentrationRiskTypeDomain" order="0.0" 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="ConcentrationRiskTable" xlink:to="ConcentrationRiskByTypeAxis" xlink:title="presentation: ConcentrationRiskTable to ConcentrationRiskByTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MajorCustomersAxis" xlink:label="MajorCustomersAxis" xlink:title="MajorCustomersAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="NameOfMajorCustomerDomain" xlink:title="NameOfMajorCustomerDomain" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ScientificGamesMember" xlink:label="ScientificGamesMember" xlink:title="ScientificGamesMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NameOfMajorCustomerDomain" xlink:to="ScientificGamesMember" xlink:title="presentation: NameOfMajorCustomerDomain to ScientificGamesMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_InternationalGameTechnologyPlcMember" xlink:label="InternationalGameTechnologyPlcMember" xlink:title="InternationalGameTechnologyPlcMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NameOfMajorCustomerDomain" xlink:to="InternationalGameTechnologyPlcMember" xlink:title="presentation: NameOfMajorCustomerDomain to InternationalGameTechnologyPlcMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_NcrCorporationMember" xlink:label="NcrCorporationMember" xlink:title="NcrCorporationMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NameOfMajorCustomerDomain" xlink:to="NcrCorporationMember" xlink:title="presentation: NameOfMajorCustomerDomain to NcrCorporationMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MajorCustomersAxis" xlink:to="NameOfMajorCustomerDomain" xlink:title="presentation: MajorCustomersAxis to NameOfMajorCustomerDomain" order="0.0" 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="ConcentrationRiskTable" xlink:to="MajorCustomersAxis" xlink:title="presentation: ConcentrationRiskTable to MajorCustomersAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="ConcentrationRiskLineItems" xlink:title="ConcentrationRiskLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="RisksAndUncertaintiesAbstract" xlink:title="RisksAndUncertaintiesAbstract" />
    <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="ConcentrationRiskPercentage1" xlink:title="ConcentrationRiskPercentage1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RisksAndUncertaintiesAbstract" xlink:to="ConcentrationRiskPercentage1" xlink:title="presentation: RisksAndUncertaintiesAbstract to ConcentrationRiskPercentage1" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskLineItems" xlink:to="RisksAndUncertaintiesAbstract" xlink:title="presentation: ConcentrationRiskLineItems to RisksAndUncertaintiesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskTable" xlink:to="ConcentrationRiskLineItems" xlink:title="presentation: ConcentrationRiskTable to ConcentrationRiskLineItems" order="3.0" 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="AccountingPoliciesAbstract" xlink:to="ConcentrationRiskTable" xlink:title="presentation: AccountingPoliciesAbstract to ConcentrationRiskTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails">
    <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="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductWarrantyLiabilityTable" xlink:label="ProductWarrantyLiabilityTable" xlink:title="ProductWarrantyLiabilityTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="0.0" 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="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" 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="ProductWarrantyLiabilityTable" xlink:to="RangeAxis" xlink:title="presentation: ProductWarrantyLiabilityTable to RangeAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="BalanceSheetLocationAxis" xlink:title="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="BalanceSheetLocationDomain" xlink:title="BalanceSheetLocationDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherLiabilitiesMember" xlink:label="OtherLiabilitiesMember" xlink:title="OtherLiabilitiesMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="BalanceSheetLocationDomain" xlink:to="OtherLiabilitiesMember" xlink:title="presentation: BalanceSheetLocationDomain to OtherLiabilitiesMember" order="0.0" 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="BalanceSheetLocationAxis" xlink:to="BalanceSheetLocationDomain" xlink:title="presentation: BalanceSheetLocationAxis to BalanceSheetLocationDomain" order="0.0" 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="ProductWarrantyLiabilityTable" xlink:to="BalanceSheetLocationAxis" xlink:title="presentation: ProductWarrantyLiabilityTable to BalanceSheetLocationAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProductWarrantyLiabilityLineItems" xlink:label="ProductWarrantyLiabilityLineItems" xlink:title="ProductWarrantyLiabilityLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyDisclosureAbstract" xlink:label="ExtendedProductWarrantyDisclosureAbstract" xlink:title="ExtendedProductWarrantyDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ExtendedProductWarrantyPeriod" xlink:label="ExtendedProductWarrantyPeriod" xlink:title="ExtendedProductWarrantyPeriod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ExtendedProductWarrantyDisclosureAbstract" xlink:to="ExtendedProductWarrantyPeriod" xlink:title="presentation: ExtendedProductWarrantyDisclosureAbstract to ExtendedProductWarrantyPeriod" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MovementInExtendedProductWarrantyAccrualRollForward" xlink:label="MovementInExtendedProductWarrantyAccrualRollForward" xlink:title="MovementInExtendedProductWarrantyAccrualRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyAccrual" xlink:label="ExtendedProductWarrantyAccrual" xlink:title="ExtendedProductWarrantyAccrual" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MovementInExtendedProductWarrantyAccrualRollForward" xlink:to="ExtendedProductWarrantyAccrual" xlink:title="presentation: MovementInExtendedProductWarrantyAccrualRollForward to ExtendedProductWarrantyAccrual" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued" xlink:label="ExtendedProductWarrantyAccrualWarrantiesIssued" xlink:title="ExtendedProductWarrantyAccrualWarrantiesIssued" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MovementInExtendedProductWarrantyAccrualRollForward" xlink:to="ExtendedProductWarrantyAccrualWarrantiesIssued" xlink:title="presentation: MovementInExtendedProductWarrantyAccrualRollForward to ExtendedProductWarrantyAccrualWarrantiesIssued" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyAccrualPayments" xlink:label="ExtendedProductWarrantyAccrualPayments" xlink:title="ExtendedProductWarrantyAccrualPayments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MovementInExtendedProductWarrantyAccrualRollForward" xlink:to="ExtendedProductWarrantyAccrualPayments" xlink:title="presentation: MovementInExtendedProductWarrantyAccrualRollForward to ExtendedProductWarrantyAccrualPayments" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyAccrual" xlink:label="ExtendedProductWarrantyAccrual_2" xlink:title="ExtendedProductWarrantyAccrual" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MovementInExtendedProductWarrantyAccrualRollForward" xlink:to="ExtendedProductWarrantyAccrual_2" xlink:title="presentation: MovementInExtendedProductWarrantyAccrualRollForward to ExtendedProductWarrantyAccrual" order="3.0" 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="ExtendedProductWarrantyDisclosureAbstract" xlink:to="MovementInExtendedProductWarrantyAccrualRollForward" xlink:title="presentation: ExtendedProductWarrantyDisclosureAbstract to MovementInExtendedProductWarrantyAccrualRollForward" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyAccrualCurrent" xlink:label="ExtendedProductWarrantyAccrualCurrent" xlink:title="ExtendedProductWarrantyAccrualCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ExtendedProductWarrantyDisclosureAbstract" xlink:to="ExtendedProductWarrantyAccrualCurrent" xlink:title="presentation: ExtendedProductWarrantyDisclosureAbstract to ExtendedProductWarrantyAccrualCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyAccrualNoncurrent" xlink:label="ExtendedProductWarrantyAccrualNoncurrent" xlink:title="ExtendedProductWarrantyAccrualNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ExtendedProductWarrantyDisclosureAbstract" xlink:to="ExtendedProductWarrantyAccrualNoncurrent" xlink:title="presentation: ExtendedProductWarrantyDisclosureAbstract to ExtendedProductWarrantyAccrualNoncurrent" order="3.0" 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="ProductWarrantyLiabilityLineItems" xlink:to="ExtendedProductWarrantyDisclosureAbstract" xlink:title="presentation: ProductWarrantyLiabilityLineItems to ExtendedProductWarrantyDisclosureAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductWarrantyLiabilityTable" xlink:to="ProductWarrantyLiabilityLineItems" xlink:title="presentation: ProductWarrantyLiabilityTable to ProductWarrantyLiabilityLineItems" order="2.0" 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="AccountingPoliciesAbstract" xlink:to="ProductWarrantyLiabilityTable" xlink:title="presentation: AccountingPoliciesAbstract to ProductWarrantyLiabilityTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails">
    <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="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseAbstract" xlink:label="ResearchAndDevelopmentExpenseAbstract" xlink:title="ResearchAndDevelopmentExpenseAbstract" />
    <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="ResearchAndDevelopmentExpense" xlink:title="ResearchAndDevelopmentExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ResearchAndDevelopmentExpenseAbstract" xlink:to="ResearchAndDevelopmentExpense" xlink:title="presentation: ResearchAndDevelopmentExpenseAbstract to ResearchAndDevelopmentExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareNet" xlink:label="CapitalizedComputerSoftwareNet" xlink:title="CapitalizedComputerSoftwareNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ResearchAndDevelopmentExpenseAbstract" xlink:to="CapitalizedComputerSoftwareNet" xlink:title="presentation: ResearchAndDevelopmentExpenseAbstract to CapitalizedComputerSoftwareNet" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CapitalizedComputerSoftwareAmortization1" xlink:label="CapitalizedComputerSoftwareAmortization1" xlink:title="CapitalizedComputerSoftwareAmortization1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ResearchAndDevelopmentExpenseAbstract" xlink:to="CapitalizedComputerSoftwareAmortization1" xlink:title="presentation: ResearchAndDevelopmentExpenseAbstract to CapitalizedComputerSoftwareAmortization1" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="ResearchAndDevelopmentExpenseAbstract" xlink:title="presentation: AccountingPoliciesAbstract to ResearchAndDevelopmentExpenseAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingDetails">
    <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="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MarketingAndAdvertisingExpenseAbstract" xlink:label="MarketingAndAdvertisingExpenseAbstract" xlink:title="MarketingAndAdvertisingExpenseAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AdvertisingExpense" xlink:label="AdvertisingExpense" xlink:title="AdvertisingExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MarketingAndAdvertisingExpenseAbstract" xlink:to="AdvertisingExpense" xlink:title="presentation: MarketingAndAdvertisingExpenseAbstract to AdvertisingExpense" order="0.0" 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="AccountingPoliciesAbstract" xlink:to="MarketingAndAdvertisingExpenseAbstract" xlink:title="presentation: AccountingPoliciesAbstract to MarketingAndAdvertisingExpenseAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/NoteReceivableDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccountsAndNotesReceivableNetAbstract" xlink:label="AccountsAndNotesReceivableNetAbstract" xlink:title="AccountsAndNotesReceivableNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_NoteReceivableInterestRate" xlink:label="NoteReceivableInterestRate" xlink:title="NoteReceivableInterestRate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountsAndNotesReceivableNetAbstract" xlink:to="NoteReceivableInterestRate" xlink:title="presentation: AccountsAndNotesReceivableNetAbstract to NoteReceivableInterestRate" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ProceedsFromCollectionOfNotesReceivable" xlink:label="ProceedsFromCollectionOfNotesReceivable" xlink:title="ProceedsFromCollectionOfNotesReceivable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountsAndNotesReceivableNetAbstract" xlink:to="ProceedsFromCollectionOfNotesReceivable" xlink:title="presentation: AccountsAndNotesReceivableNetAbstract to ProceedsFromCollectionOfNotesReceivable" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_NoteReceivableInterestIncome" xlink:label="NoteReceivableInterestIncome" xlink:title="NoteReceivableInterestIncome" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountsAndNotesReceivableNetAbstract" xlink:to="NoteReceivableInterestIncome" xlink:title="presentation: AccountsAndNotesReceivableNetAbstract to NoteReceivableInterestIncome" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/InventoriesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" xlink:title="InventoryDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:label="InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:title="InventoryRawMaterialsAndSuppliesNetOfReserves" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:title="presentation: InventoryDisclosureAbstract to InventoryRawMaterialsAndSuppliesNetOfReserves" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="InventoryWorkInProcessNetOfReserves" xlink:title="InventoryWorkInProcessNetOfReserves" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="InventoryWorkInProcessNetOfReserves" xlink:title="presentation: InventoryDisclosureAbstract to InventoryWorkInProcessNetOfReserves" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="InventoryFinishedGoodsNetOfReserves" xlink:title="InventoryFinishedGoodsNetOfReserves" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="InventoryFinishedGoodsNetOfReserves" xlink:title="presentation: InventoryDisclosureAbstract to InventoryFinishedGoodsNetOfReserves" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="InventoryNet" xlink:title="presentation: InventoryDisclosureAbstract to InventoryNet" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/FixedAssetsNetDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" xlink:title="PropertyPlantAndEquipmentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="PropertyPlantAndEquipmentByTypeAxis" xlink:title="PropertyPlantAndEquipmentByTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="PropertyPlantAndEquipmentTypeDomain" xlink:title="PropertyPlantAndEquipmentTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="MachineryAndEquipmentMember" xlink:title="MachineryAndEquipmentMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="MachineryAndEquipmentMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to MachineryAndEquipmentMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_FurnitureAndOfficeEquipmentMember" xlink:label="FurnitureAndOfficeEquipmentMember" xlink:title="FurnitureAndOfficeEquipmentMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FurnitureAndOfficeEquipmentMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to FurnitureAndOfficeEquipmentMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ComputerSoftwareAndEquipmentMember" xlink:label="ComputerSoftwareAndEquipmentMember" xlink:title="ComputerSoftwareAndEquipmentMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="ComputerSoftwareAndEquipmentMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to ComputerSoftwareAndEquipmentMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="LeaseholdImprovementsMember" xlink:title="LeaseholdImprovementsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="LeaseholdImprovementsMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to LeaseholdImprovementsMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_FixedAssetsExcludingConstructionInProcessMember" xlink:label="FixedAssetsExcludingConstructionInProcessMember" xlink:title="FixedAssetsExcludingConstructionInProcessMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="FixedAssetsExcludingConstructionInProcessMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to FixedAssetsExcludingConstructionInProcessMember" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ConstructionInProgressMember" xlink:label="ConstructionInProgressMember" xlink:title="ConstructionInProgressMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentTypeDomain" xlink:to="ConstructionInProgressMember" xlink:title="presentation: PropertyPlantAndEquipmentTypeDomain to ConstructionInProgressMember" order="5.0" 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="PropertyPlantAndEquipmentByTypeAxis" xlink:to="PropertyPlantAndEquipmentTypeDomain" xlink:title="presentation: PropertyPlantAndEquipmentByTypeAxis to PropertyPlantAndEquipmentTypeDomain" order="0.0" 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="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentByTypeAxis" xlink:title="presentation: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentByTypeAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="PropertyPlantAndEquipmentLineItems" xlink:title="PropertyPlantAndEquipmentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract" xlink:label="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:title="PropertyPlantAndEquipmentNetByTypeAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="PropertyPlantAndEquipmentGross" xlink:title="PropertyPlantAndEquipmentGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:to="PropertyPlantAndEquipmentGross" xlink:title="presentation: PropertyPlantAndEquipmentNetByTypeAbstract to PropertyPlantAndEquipmentGross" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:to="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="presentation: PropertyPlantAndEquipmentNetByTypeAbstract to AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <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="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="presentation: PropertyPlantAndEquipmentNetByTypeAbstract to PropertyPlantAndEquipmentNet" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentLineItems" xlink:to="PropertyPlantAndEquipmentNetByTypeAbstract" xlink:title="presentation: PropertyPlantAndEquipmentLineItems to PropertyPlantAndEquipmentNetByTypeAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="PropertyPlantAndEquipmentLineItems" xlink:title="presentation: ScheduleOfPropertyPlantAndEquipmentTable to PropertyPlantAndEquipmentLineItems" order="1.0" 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="PropertyPlantAndEquipmentAbstract" xlink:to="ScheduleOfPropertyPlantAndEquipmentTable" xlink:title="presentation: PropertyPlantAndEquipmentAbstract to ScheduleOfPropertyPlantAndEquipmentTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IntangibleAssetsNetDetails">
    <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="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:title="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="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="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="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="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="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="TechnologyBasedIntangibleAssetsMember" xlink:title="TechnologyBasedIntangibleAssetsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="TechnologyBasedIntangibleAssetsMember" xlink:title="presentation: FiniteLivedIntangibleAssetsMajorClassNameDomain to TechnologyBasedIntangibleAssetsMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="CustomerRelationshipsMember" xlink:title="CustomerRelationshipsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="CustomerRelationshipsMember" xlink:title="presentation: FiniteLivedIntangibleAssetsMajorClassNameDomain to CustomerRelationshipsMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TrademarksMember" xlink:label="TrademarksMember" xlink:title="TrademarksMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="TrademarksMember" xlink:title="presentation: FiniteLivedIntangibleAssetsMajorClassNameDomain to TrademarksMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_NoncompeteAgreementsMember" xlink:label="NoncompeteAgreementsMember" xlink:title="NoncompeteAgreementsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="NoncompeteAgreementsMember" xlink:title="presentation: FiniteLivedIntangibleAssetsMajorClassNameDomain to NoncompeteAgreementsMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="PatentsMember" xlink:title="PatentsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="PatentsMember" xlink:title="presentation: FiniteLivedIntangibleAssetsMajorClassNameDomain to PatentsMember" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="OtherIntangibleAssetsMember" xlink:title="OtherIntangibleAssetsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="OtherIntangibleAssetsMember" xlink:title="presentation: FiniteLivedIntangibleAssetsMajorClassNameDomain to OtherIntangibleAssetsMember" order="5.0" 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="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:title="presentation: FiniteLivedIntangibleAssetsByMajorClassAxis to FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0.0" 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="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:title="presentation: ScheduleOfFiniteLivedIntangibleAssetsTable to FiniteLivedIntangibleAssetsByMajorClassAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="FiniteLivedIntangibleAssetsLineItems" xlink:title="FiniteLivedIntangibleAssetsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="FiniteLivedIntangibleAssetsNetAbstract" />
    <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="FiniteLivedIntangibleAssetsGross" xlink:title="FiniteLivedIntangibleAssetsGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="FiniteLivedIntangibleAssetsGross" xlink:title="presentation: FiniteLivedIntangibleAssetsNetAbstract to FiniteLivedIntangibleAssetsGross" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:title="FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:title="presentation: FiniteLivedIntangibleAssetsNetAbstract to FiniteLivedIntangibleAssetsAccumulatedAmortization" order="1.0" 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="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsNetAbstract" xlink:title="presentation: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsNetAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="AmortizationOfIntangibleAssets" xlink:title="AmortizationOfIntangibleAssets" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="AmortizationOfIntangibleAssets" xlink:title="presentation: FiniteLivedIntangibleAssetsLineItems to AmortizationOfIntangibleAssets" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:title="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" />
    <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="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:title="presentation: FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract to FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:title="presentation: FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract to FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:title="presentation: FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract to FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree" xlink:label="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree" xlink:title="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree" xlink:title="presentation: FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract to FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:title="presentation: FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract to FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:title="presentation: FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract to FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:title="FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:title="presentation: FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract to FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsLineItems" xlink:to="FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:title="presentation: FiniteLivedIntangibleAssetsLineItems to FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" order="2.0" 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="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="FiniteLivedIntangibleAssetsLineItems" xlink:title="presentation: ScheduleOfFiniteLivedIntangibleAssetsTable to FiniteLivedIntangibleAssetsLineItems" order="1.0" 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="GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:title="presentation: GoodwillAndIntangibleAssetsDisclosureAbstract to ScheduleOfFiniteLivedIntangibleAssetsTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/AccruedLiabilitiesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="PayablesAndAccrualsAbstract" xlink:title="PayablesAndAccrualsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="EmployeeRelatedLiabilitiesCurrent" xlink:title="EmployeeRelatedLiabilitiesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PayablesAndAccrualsAbstract" xlink:to="EmployeeRelatedLiabilitiesCurrent" xlink:title="presentation: PayablesAndAccrualsAbstract to EmployeeRelatedLiabilitiesCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ExtendedProductWarrantyAccrualCurrent" xlink:label="ExtendedProductWarrantyAccrualCurrent" xlink:title="ExtendedProductWarrantyAccrualCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PayablesAndAccrualsAbstract" xlink:to="ExtendedProductWarrantyAccrualCurrent" xlink:title="presentation: PayablesAndAccrualsAbstract to ExtendedProductWarrantyAccrualCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="AccruedProfessionalFeesCurrent" xlink:title="AccruedProfessionalFeesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PayablesAndAccrualsAbstract" xlink:to="AccruedProfessionalFeesCurrent" xlink:title="presentation: PayablesAndAccrualsAbstract to AccruedProfessionalFeesCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="OtherLiabilitiesCurrent" xlink:title="OtherLiabilitiesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PayablesAndAccrualsAbstract" xlink:to="OtherLiabilitiesCurrent" xlink:title="presentation: PayablesAndAccrualsAbstract to OtherLiabilitiesCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="AccruedLiabilitiesCurrent" xlink:title="AccruedLiabilitiesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PayablesAndAccrualsAbstract" xlink:to="AccruedLiabilitiesCurrent" xlink:title="presentation: PayablesAndAccrualsAbstract to AccruedLiabilitiesCurrent" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RetirementSavingsPlanDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="CompensationAndRetirementDisclosureAbstract" xlink:title="CompensationAndRetirementDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:label="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:title="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:title="presentation: CompensationAndRetirementDisclosureAbstract to DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="DefinedContributionPlanEmployerMatchingContributionPercent" xlink:title="DefinedContributionPlanEmployerMatchingContributionPercent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="DefinedContributionPlanEmployerMatchingContributionPercent" xlink:title="presentation: CompensationAndRetirementDisclosureAbstract to DefinedContributionPlanEmployerMatchingContributionPercent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="DefinedContributionPlanCostRecognized" xlink:title="DefinedContributionPlanCostRecognized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="DefinedContributionPlanCostRecognized" xlink:title="presentation: CompensationAndRetirementDisclosureAbstract to DefinedContributionPlanCostRecognized" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/BorrowingsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" xlink:title="DebtDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="DebtInstrumentTable" xlink:title="DebtInstrumentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentAxis" xlink:label="DebtInstrumentAxis" xlink:title="DebtInstrumentAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="DebtInstrumentNameDomain" xlink:title="DebtInstrumentNameDomain" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:label="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="RevolvingCreditFacilitySienaLendingGroupLlcMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentNameDomain" xlink:to="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="presentation: DebtInstrumentNameDomain to RevolvingCreditFacilitySienaLendingGroupLlcMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PaycheckProtectionProgramLoanMember" xlink:label="PaycheckProtectionProgramLoanMember" xlink:title="PaycheckProtectionProgramLoanMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentNameDomain" xlink:to="PaycheckProtectionProgramLoanMember" xlink:title="presentation: DebtInstrumentNameDomain to PaycheckProtectionProgramLoanMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentAxis" xlink:to="DebtInstrumentNameDomain" xlink:title="presentation: DebtInstrumentAxis to DebtInstrumentNameDomain" order="0.0" 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="DebtInstrumentTable" xlink:to="DebtInstrumentAxis" xlink:title="presentation: DebtInstrumentTable to DebtInstrumentAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateAxis" xlink:label="VariableRateAxis" xlink:title="VariableRateAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_VariableRateDomain" xlink:label="VariableRateDomain" xlink:title="VariableRateDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_PrimeRateMember" xlink:label="PrimeRateMember" xlink:title="PrimeRateMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VariableRateDomain" xlink:to="PrimeRateMember" xlink:title="presentation: VariableRateDomain to PrimeRateMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_FederalFundsEffectiveSwapRateMember" xlink:label="FederalFundsEffectiveSwapRateMember" xlink:title="FederalFundsEffectiveSwapRateMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VariableRateDomain" xlink:to="FederalFundsEffectiveSwapRateMember" xlink:title="presentation: VariableRateDomain to FederalFundsEffectiveSwapRateMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VariableRateAxis" xlink:to="VariableRateDomain" xlink:title="presentation: VariableRateAxis to VariableRateDomain" order="0.0" 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="DebtInstrumentTable" xlink:to="VariableRateAxis" xlink:title="presentation: DebtInstrumentTable to VariableRateAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="presentation: RangeMember to MinimumMember" order="0.0" 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="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" 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="DebtInstrumentTable" xlink:to="RangeAxis" xlink:title="presentation: DebtInstrumentTable to RangeAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="DebtInstrumentLineItems" xlink:title="DebtInstrumentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityAbstract" xlink:label="LineOfCreditFacilityAbstract" xlink:title="LineOfCreditFacilityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="presentation: LineOfCreditFacilityAbstract to LineOfCreditFacilityMaximumBorrowingCapacity" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="DebtInstrumentFaceAmount" xlink:title="DebtInstrumentFaceAmount" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentFaceAmount" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentFaceAmount" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityExpirationDate1" xlink:label="LineOfCreditFacilityExpirationDate1" xlink:title="LineOfCreditFacilityExpirationDate1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="LineOfCreditFacilityExpirationDate1" xlink:title="presentation: LineOfCreditFacilityAbstract to LineOfCreditFacilityExpirationDate1" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="DebtInstrumentBasisSpreadOnVariableRate1" xlink:title="DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentBasisSpreadOnVariableRate1" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentBasisSpreadOnVariableRate1" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="DebtInstrumentInterestRateStatedPercentage" xlink:title="DebtInstrumentInterestRateStatedPercentage" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentInterestRateStatedPercentage" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentInterestRateStatedPercentage" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="DeferredFinanceCostsGross" xlink:title="DeferredFinanceCostsGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DeferredFinanceCostsGross" xlink:title="presentation: LineOfCreditFacilityAbstract to DeferredFinanceCostsGross" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:title="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:title="presentation: LineOfCreditFacilityAbstract to LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:label="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:title="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentFinancialCovenantEligibleAccountsReceivable" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventory" xlink:label="DebtInstrumentFinancialCovenantEligibleInventory" xlink:title="DebtInstrumentFinancialCovenantEligibleInventory" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentFinancialCovenantEligibleInventory" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentFinancialCovenantEligibleInventory" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:label="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:title="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:label="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:title="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SecuredDebt" xlink:label="SecuredDebt" xlink:title="SecuredDebt" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="SecuredDebt" xlink:title="presentation: LineOfCreditFacilityAbstract to SecuredDebt" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:title="LineOfCreditFacilityRemainingBorrowingCapacity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:title="presentation: LineOfCreditFacilityAbstract to LineOfCreditFacilityRemainingBorrowingCapacity" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DebtInstrumentDecreaseForgiveness" xlink:label="DebtInstrumentDecreaseForgiveness" xlink:title="DebtInstrumentDecreaseForgiveness" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentDecreaseForgiveness" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentDecreaseForgiveness" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentLineItems" xlink:to="LineOfCreditFacilityAbstract" xlink:title="presentation: DebtInstrumentLineItems to LineOfCreditFacilityAbstract" order="0.0" 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="DebtInstrumentTable" xlink:to="DebtInstrumentLineItems" xlink:title="presentation: DebtInstrumentTable to DebtInstrumentLineItems" order="3.0" 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="DebtDisclosureAbstract" xlink:to="DebtInstrumentTable" xlink:title="presentation: DebtDisclosureAbstract to DebtInstrumentTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails">
    <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="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="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="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="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="PlanNameAxis" xlink:title="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="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_EquityIncentivePlan2014Member" xlink:label="EquityIncentivePlan2014Member" xlink:title="EquityIncentivePlan2014Member" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PlanNameDomain" xlink:to="EquityIncentivePlan2014Member" xlink:title="presentation: PlanNameDomain to EquityIncentivePlan2014Member" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain" xlink:title="presentation: PlanNameAxis to PlanNameDomain" order="0.0" 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="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="PlanNameAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to PlanNameAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="AwardTypeAxis" xlink:title="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="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="EmployeeStockOptionMember" xlink:title="EmployeeStockOptionMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="EmployeeStockOptionMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to EmployeeStockOptionMember" order="0.0" 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="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="presentation: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0.0" 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="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="presentation: RangeMember to MinimumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_MaximumMember" xlink:label="MaximumMember" xlink:title="MaximumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MaximumMember" xlink:title="presentation: RangeMember to MaximumMember" order="1.0" 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="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" 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="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="RangeAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to RangeAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:label="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:title="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" xlink:title="presentation: ShareBasedArrangementsToObtainGoodsAndServicesAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" xlink:title="presentation: ShareBasedArrangementsToObtainGoodsAndServicesAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:title="presentation: ShareBasedArrangementsToObtainGoodsAndServicesAbstract to SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:title="presentation: ShareBasedArrangementsToObtainGoodsAndServicesAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:title="presentation: ShareBasedArrangementsToObtainGoodsAndServicesAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:title="presentation: ShareBasedArrangementsToObtainGoodsAndServicesAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" order="5.0" 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="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedArrangementsToObtainGoodsAndServicesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="3.0" 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="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails">
    <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="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="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="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="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="PlanNameAxis" xlink:title="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="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_EquityIncentivePlan2014Member" xlink:label="EquityIncentivePlan2014Member" xlink:title="EquityIncentivePlan2014Member" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PlanNameDomain" xlink:to="EquityIncentivePlan2014Member" xlink:title="presentation: PlanNameDomain to EquityIncentivePlan2014Member" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain" xlink:title="presentation: PlanNameAxis to PlanNameDomain" order="0.0" 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="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="PlanNameAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to PlanNameAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="AwardTypeAxis" xlink:title="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="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="EmployeeStockOptionMember" xlink:title="EmployeeStockOptionMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="EmployeeStockOptionMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to EmployeeStockOptionMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="RestrictedStockUnitsRSUMember" xlink:title="RestrictedStockUnitsRSUMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockUnitsRSUMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockUnitsRSUMember" order="1.0" 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="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="presentation: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0.0" 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="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:label="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:title="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract to SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract to SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" order="5.0" 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="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" xlink:title="presentation: ShareBasedArrangementsToObtainGoodsAndServicesAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract" order="0.0" 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="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedArrangementsToObtainGoodsAndServicesAbstract" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedArrangementsToObtainGoodsAndServicesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="2.0" 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="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails">
    <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="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <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="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:title="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="IncomeStatementLocationAxis" xlink:title="IncomeStatementLocationAxis" />
    <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="IncomeStatementLocationDomain" xlink:title="IncomeStatementLocationDomain" />
    <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="GeneralAndAdministrativeExpenseMember" xlink:title="GeneralAndAdministrativeExpenseMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementLocationDomain" xlink:to="GeneralAndAdministrativeExpenseMember" xlink:title="presentation: IncomeStatementLocationDomain to GeneralAndAdministrativeExpenseMember" order="0.0" 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="IncomeStatementLocationAxis" xlink:to="IncomeStatementLocationDomain" xlink:title="presentation: IncomeStatementLocationAxis to IncomeStatementLocationDomain" order="0.0" 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="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="IncomeStatementLocationAxis" xlink:title="presentation: ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable to IncomeStatementLocationAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:title="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationAbstract" xlink:label="ShareBasedCompensationAbstract" xlink:title="ShareBasedCompensationAbstract" />
    <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="AllocatedShareBasedCompensationExpense" xlink:title="AllocatedShareBasedCompensationExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="AllocatedShareBasedCompensationExpense" xlink:title="presentation: ShareBasedCompensationAbstract to AllocatedShareBasedCompensationExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:title="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationAbstract" xlink:to="EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:title="presentation: ShareBasedCompensationAbstract to EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="ShareBasedCompensationAbstract" xlink:title="presentation: EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems to ShareBasedCompensationAbstract" order="0.0" 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="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:title="presentation: ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable to EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" order="1.0" 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="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails">
    <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="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="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="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="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="PlanNameAxis" xlink:title="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="PlanNameDomain" xlink:title="PlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:label="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:title="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PlanNameDomain" xlink:to="EquityIncentivePlan2005AndEquityIncentivePlan2014Member" xlink:title="presentation: PlanNameDomain to EquityIncentivePlan2005AndEquityIncentivePlan2014Member" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PlanNameAxis" xlink:to="PlanNameDomain" xlink:title="presentation: PlanNameAxis to PlanNameDomain" order="0.0" 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="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="PlanNameAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to PlanNameAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="AwardTypeAxis" xlink:title="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="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="EmployeeStockOptionMember" xlink:title="EmployeeStockOptionMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="EmployeeStockOptionMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to EmployeeStockOptionMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="RestrictedStockUnitsRSUMember" xlink:title="RestrictedStockUnitsRSUMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="RestrictedStockUnitsRSUMember" xlink:title="presentation: ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain to RestrictedStockUnitsRSUMember" order="1.0" 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="AwardTypeAxis" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:title="presentation: AwardTypeAxis to ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0.0" 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="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="AwardTypeAxis" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to AwardTypeAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward to StockIssuedDuringPeriodSharesStockOptionsExercised" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" order="4.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:title="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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <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="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward to ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward to ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward to ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward to ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" order="7.0" 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="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_2" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_2" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" order="5.0" 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="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_2" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_2" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" order="5.0" 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="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_EquityAwardsAggregateIntrinsicValueAbstract" xlink:label="EquityAwardsAggregateIntrinsicValueAbstract" xlink:title="EquityAwardsAggregateIntrinsicValueAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAwardsAggregateIntrinsicValueAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:title="presentation: EquityAwardsAggregateIntrinsicValueAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAwardsAggregateIntrinsicValueAbstract" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:title="presentation: EquityAwardsAggregateIntrinsicValueAbstract to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAwardsAggregateIntrinsicValueAbstract" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:title="presentation: EquityAwardsAggregateIntrinsicValueAbstract to SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EquityAwardsAggregateIntrinsicValueAbstract" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EquityAwardsAggregateIntrinsicValueAbstract" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:label="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:title="EquityAwardsWeightedAverageRemainingContractualTermAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:title="presentation: EquityAwardsWeightedAverageRemainingContractualTermAbstract to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:title="presentation: EquityAwardsWeightedAverageRemainingContractualTermAbstract to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:title="presentation: EquityAwardsWeightedAverageRemainingContractualTermAbstract to ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EquityAwardsWeightedAverageRemainingContractualTermAbstract" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EquityAwardsWeightedAverageRemainingContractualTermAbstract" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:title="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:label="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:title="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:title="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="ProceedsFromStockOptionsExercised" xlink:title="ProceedsFromStockOptionsExercised" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="ProceedsFromStockOptionsExercised" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to ProceedsFromStockOptionsExercised" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:label="EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:title="EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" xlink:title="presentation: ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems to EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" order="11.0" 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="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:title="presentation: ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable to ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="2.0" 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="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockIncentivePlansRestrictedStockDetails">
    <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="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:title="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable" xlink:label="ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable" xlink:title="ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis" xlink:label="DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis" xlink:title="DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain" xlink:label="EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain" xlink:title="EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationShareBasedPaymentsMember" xlink:label="DeferredCompensationShareBasedPaymentsMember" xlink:title="DeferredCompensationShareBasedPaymentsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain" xlink:to="DeferredCompensationShareBasedPaymentsMember" xlink:title="presentation: EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain to DeferredCompensationShareBasedPaymentsMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis" xlink:to="EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain" xlink:title="presentation: DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis to EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain" order="0.0" 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="ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable" xlink:to="DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis" xlink:title="presentation: ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable to DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems" xlink:label="DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems" xlink:title="DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementsAbstract" xlink:label="DeferredCompensationArrangementsAbstract" xlink:title="DeferredCompensationArrangementsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued" xlink:label="DeferredCompensationArrangementWithIndividualSharesIssued" xlink:title="DeferredCompensationArrangementWithIndividualSharesIssued" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredCompensationArrangementsAbstract" xlink:to="DeferredCompensationArrangementWithIndividualSharesIssued" xlink:title="presentation: DeferredCompensationArrangementsAbstract to DeferredCompensationArrangementWithIndividualSharesIssued" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:label="DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:title="DeferredCompensationArrangementWithIndividualCompensationExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredCompensationArrangementsAbstract" xlink:to="DeferredCompensationArrangementWithIndividualCompensationExpense" xlink:title="presentation: DeferredCompensationArrangementsAbstract to DeferredCompensationArrangementWithIndividualCompensationExpense" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualMaximumContractualTerm1" xlink:label="DeferredCompensationArrangementWithIndividualMaximumContractualTerm1" xlink:title="DeferredCompensationArrangementWithIndividualMaximumContractualTerm1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredCompensationArrangementsAbstract" xlink:to="DeferredCompensationArrangementWithIndividualMaximumContractualTerm1" xlink:title="presentation: DeferredCompensationArrangementsAbstract to DeferredCompensationArrangementWithIndividualMaximumContractualTerm1" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredCompensationArrangementWithIndividualExercisePrice" xlink:label="DeferredCompensationArrangementWithIndividualExercisePrice" xlink:title="DeferredCompensationArrangementWithIndividualExercisePrice" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredCompensationArrangementsAbstract" xlink:to="DeferredCompensationArrangementWithIndividualExercisePrice" xlink:title="presentation: DeferredCompensationArrangementsAbstract to DeferredCompensationArrangementWithIndividualExercisePrice" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems" xlink:to="DeferredCompensationArrangementsAbstract" xlink:title="presentation: DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems to DeferredCompensationArrangementsAbstract" order="0.0" 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="ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable" xlink:to="DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems" xlink:title="presentation: ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable to DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems" order="1.0" 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="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable" xlink:title="presentation: DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract to ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="IncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="CurrentFederalTaxExpenseBenefit" xlink:title="CurrentFederalTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="CurrentFederalTaxExpenseBenefit" xlink:title="presentation: CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract to CurrentFederalTaxExpenseBenefit" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="CurrentStateAndLocalTaxExpenseBenefit" xlink:title="CurrentStateAndLocalTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="CurrentStateAndLocalTaxExpenseBenefit" xlink:title="presentation: CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract to CurrentStateAndLocalTaxExpenseBenefit" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="CurrentForeignTaxExpenseBenefit" xlink:title="CurrentForeignTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="CurrentForeignTaxExpenseBenefit" xlink:title="presentation: CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract to CurrentForeignTaxExpenseBenefit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="CurrentIncomeTaxExpenseBenefit" xlink:title="CurrentIncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="CurrentIncomeTaxExpenseBenefit" xlink:title="presentation: CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract to CurrentIncomeTaxExpenseBenefit" order="3.0" 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="IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="presentation: IncomeTaxExpenseBenefitContinuingOperationsAbstract to CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="DeferredFederalIncomeTaxExpenseBenefit" xlink:title="DeferredFederalIncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="DeferredFederalIncomeTaxExpenseBenefit" xlink:title="presentation: DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract to DeferredFederalIncomeTaxExpenseBenefit" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:title="DeferredStateAndLocalIncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:title="presentation: DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract to DeferredStateAndLocalIncomeTaxExpenseBenefit" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="DeferredForeignIncomeTaxExpenseBenefit" xlink:title="DeferredForeignIncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="DeferredForeignIncomeTaxExpenseBenefit" xlink:title="presentation: DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract to DeferredForeignIncomeTaxExpenseBenefit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="DeferredIncomeTaxExpenseBenefit" xlink:title="DeferredIncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="DeferredIncomeTaxExpenseBenefit" xlink:title="presentation: DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract to DeferredIncomeTaxExpenseBenefit" order="3.0" 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="IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="presentation: IncomeTaxExpenseBenefitContinuingOperationsAbstract to DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="IncomeTaxExpenseBenefit" xlink:title="presentation: IncomeTaxExpenseBenefitContinuingOperationsAbstract to IncomeTaxExpenseBenefit" order="2.0" 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="IncomeTaxDisclosureAbstract" xlink:to="IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:title="presentation: IncomeTaxDisclosureAbstract to IncomeTaxExpenseBenefitContinuingOperationsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="EffectiveIncomeTaxRateContinuingOperations" xlink:title="EffectiveIncomeTaxRateContinuingOperations" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="EffectiveIncomeTaxRateContinuingOperations" xlink:title="presentation: IncomeTaxDisclosureAbstract to EffectiveIncomeTaxRateContinuingOperations" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="presentation: IncomeTaxDisclosureAbstract to EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwardsTable" xlink:label="OperatingLossCarryforwardsTable" xlink:title="OperatingLossCarryforwardsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TaxCreditCarryforwardAxis" xlink:label="TaxCreditCarryforwardAxis" xlink:title="TaxCreditCarryforwardAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="TaxCreditCarryforwardNameDomain" xlink:title="TaxCreditCarryforwardNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ResearchMember" xlink:label="ResearchMember" xlink:title="ResearchMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="TaxCreditCarryforwardNameDomain" xlink:to="ResearchMember" xlink:title="presentation: TaxCreditCarryforwardNameDomain to ResearchMember" order="0.0" 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="TaxCreditCarryforwardAxis" xlink:to="TaxCreditCarryforwardNameDomain" xlink:title="presentation: TaxCreditCarryforwardAxis to TaxCreditCarryforwardNameDomain" order="0.0" 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="OperatingLossCarryforwardsTable" xlink:to="TaxCreditCarryforwardAxis" xlink:title="presentation: OperatingLossCarryforwardsTable to TaxCreditCarryforwardAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="IncomeTaxAuthorityAxis" xlink:title="IncomeTaxAuthorityAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="IncomeTaxAuthorityDomain" xlink:title="IncomeTaxAuthorityDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="DomesticCountryMember" xlink:title="DomesticCountryMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxAuthorityDomain" xlink:to="DomesticCountryMember" xlink:title="presentation: IncomeTaxAuthorityDomain to DomesticCountryMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StateAndLocalJurisdictionMember" xlink:label="StateAndLocalJurisdictionMember" xlink:title="StateAndLocalJurisdictionMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxAuthorityDomain" xlink:to="StateAndLocalJurisdictionMember" xlink:title="presentation: IncomeTaxAuthorityDomain to StateAndLocalJurisdictionMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxAuthorityAxis" xlink:to="IncomeTaxAuthorityDomain" xlink:title="presentation: IncomeTaxAuthorityAxis to IncomeTaxAuthorityDomain" order="0.0" 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="OperatingLossCarryforwardsTable" xlink:to="IncomeTaxAuthorityAxis" xlink:title="presentation: OperatingLossCarryforwardsTable to IncomeTaxAuthorityAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwardsLineItems" xlink:label="OperatingLossCarryforwardsLineItems" xlink:title="OperatingLossCarryforwardsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:label="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:title="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="OperatingLossCarryforwards" xlink:title="OperatingLossCarryforwards" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:to="OperatingLossCarryforwards" xlink:title="presentation: IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract to OperatingLossCarryforwards" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_TaxCreditCarryforwardAmount" xlink:label="TaxCreditCarryforwardAmount" xlink:title="TaxCreditCarryforwardAmount" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:to="TaxCreditCarryforwardAmount" xlink:title="presentation: IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract to TaxCreditCarryforwardAmount" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:title="presentation: IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract to IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" order="2.0" 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="OperatingLossCarryforwardsLineItems" xlink:to="IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" xlink:title="presentation: OperatingLossCarryforwardsLineItems to IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLossCarryforwardsTable" xlink:to="OperatingLossCarryforwardsLineItems" xlink:title="presentation: OperatingLossCarryforwardsTable to OperatingLossCarryforwardsLineItems" order="2.0" 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="IncomeTaxDisclosureAbstract" xlink:to="OperatingLossCarryforwardsTable" xlink:title="presentation: IncomeTaxDisclosureAbstract to OperatingLossCarryforwardsTable" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:label="ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:title="ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsNetAbstract" xlink:label="DeferredTaxAssetsNetAbstract" xlink:title="DeferredTaxAssetsNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:label="DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:title="DeferredTaxAssetsOperatingLossCarryforwardsDomestic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsOperatingLossCarryforwardsDomestic" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsOperatingLossCarryforwardsDomestic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:label="DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:title="DeferredTaxAssetsOperatingLossCarryforwardsForeign" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsOperatingLossCarryforwardsForeign" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsOperatingLossCarryforwardsForeign" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="DeferredTaxAssetsInventory" xlink:title="DeferredTaxAssetsInventory" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsInventory" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsInventory" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsDeferredIncome" xlink:label="DeferredTaxAssetsDeferredIncome" xlink:title="DeferredTaxAssetsDeferredIncome" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsDeferredIncome" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsDeferredIncome" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:title="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:title="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:label="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:title="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:title="DeferredTaxAssetsTaxCreditCarryforwardsResearch" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsTaxCreditCarryforwardsResearch" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="DeferredTaxAssetsOther" xlink:title="DeferredTaxAssetsOther" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsOther" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsOther" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="DeferredTaxAssetsGross" xlink:title="DeferredTaxAssetsGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsGross" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsGross" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="DeferredTaxAssetsValuationAllowance" xlink:title="DeferredTaxAssetsValuationAllowance" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsValuationAllowance" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsValuationAllowance" order="11.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="DeferredTaxAssetsNet" xlink:title="DeferredTaxAssetsNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxAssetsNetAbstract" xlink:to="DeferredTaxAssetsNet" xlink:title="presentation: DeferredTaxAssetsNetAbstract to DeferredTaxAssetsNet" order="12.0" 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="ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="DeferredTaxAssetsNetAbstract" xlink:title="presentation: ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract to DeferredTaxAssetsNetAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:label="DeferredTaxLiabilitiesNetAbstract" xlink:title="DeferredTaxLiabilitiesNetAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:title="DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxLiabilitiesNetAbstract" xlink:to="DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:title="presentation: DeferredTaxLiabilitiesNetAbstract to DeferredTaxLiabilitiesPropertyPlantAndEquipment" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="DeferredTaxLiabilitiesOther" xlink:title="DeferredTaxLiabilitiesOther" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxLiabilitiesNetAbstract" xlink:to="DeferredTaxLiabilitiesOther" xlink:title="presentation: DeferredTaxLiabilitiesNetAbstract to DeferredTaxLiabilitiesOther" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxLiabilities" xlink:label="DeferredTaxLiabilities" xlink:title="DeferredTaxLiabilities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DeferredTaxLiabilitiesNetAbstract" xlink:to="DeferredTaxLiabilities" xlink:title="presentation: DeferredTaxLiabilitiesNetAbstract to DeferredTaxLiabilities" order="2.0" 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="ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="DeferredTaxLiabilitiesNetAbstract" xlink:title="presentation: ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract to DeferredTaxLiabilitiesNetAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="DeferredTaxAssetsLiabilitiesNet" xlink:title="DeferredTaxAssetsLiabilitiesNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="DeferredTaxAssetsLiabilitiesNet" xlink:title="presentation: ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract to DeferredTaxAssetsLiabilitiesNet" order="2.0" 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="IncomeTaxDisclosureAbstract" xlink:to="ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:title="presentation: IncomeTaxDisclosureAbstract to ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="ValuationAndQualifyingAccountsDisclosureTable" xlink:title="ValuationAndQualifyingAccountsDisclosureTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="ValuationAllowancesAndReservesTypeAxis" xlink:title="ValuationAllowancesAndReservesTypeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="ValuationAllowancesAndReservesDomain" xlink:title="ValuationAllowancesAndReservesDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember" xlink:label="ValuationAllowanceOperatingLossCarryforwardsMember" xlink:title="ValuationAllowanceOperatingLossCarryforwardsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ValuationAllowancesAndReservesDomain" xlink:to="ValuationAllowanceOperatingLossCarryforwardsMember" xlink:title="presentation: ValuationAllowancesAndReservesDomain to ValuationAllowanceOperatingLossCarryforwardsMember" order="0.0" 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="ValuationAllowancesAndReservesTypeAxis" xlink:to="ValuationAllowancesAndReservesDomain" xlink:title="presentation: ValuationAllowancesAndReservesTypeAxis to ValuationAllowancesAndReservesDomain" order="0.0" 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="ValuationAndQualifyingAccountsDisclosureTable" xlink:to="ValuationAllowancesAndReservesTypeAxis" xlink:title="presentation: ValuationAndQualifyingAccountsDisclosureTable to ValuationAllowancesAndReservesTypeAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:title="ValuationAndQualifyingAccountsDisclosureLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="MovementInValuationAllowancesAndReservesRollForward" xlink:title="MovementInValuationAllowancesAndReservesRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="ValuationAllowancesAndReservesBalance" xlink:title="ValuationAllowancesAndReservesBalance" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MovementInValuationAllowancesAndReservesRollForward" xlink:to="ValuationAllowancesAndReservesBalance" xlink:title="presentation: MovementInValuationAllowancesAndReservesRollForward to ValuationAllowancesAndReservesBalance" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:label="ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:title="ValuationAllowancesAndReservesChargedToCostAndExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MovementInValuationAllowancesAndReservesRollForward" xlink:to="ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:title="presentation: MovementInValuationAllowancesAndReservesRollForward to ValuationAllowancesAndReservesChargedToCostAndExpense" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="ValuationAllowancesAndReservesDeductions" xlink:title="ValuationAllowancesAndReservesDeductions" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MovementInValuationAllowancesAndReservesRollForward" xlink:to="ValuationAllowancesAndReservesDeductions" xlink:title="presentation: MovementInValuationAllowancesAndReservesRollForward to ValuationAllowancesAndReservesDeductions" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="ValuationAllowancesAndReservesBalance_2" xlink:title="ValuationAllowancesAndReservesBalance" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MovementInValuationAllowancesAndReservesRollForward" xlink:to="ValuationAllowancesAndReservesBalance_2" xlink:title="presentation: MovementInValuationAllowancesAndReservesRollForward to ValuationAllowancesAndReservesBalance" order="3.0" 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="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="MovementInValuationAllowancesAndReservesRollForward" xlink:title="presentation: ValuationAndQualifyingAccountsDisclosureLineItems to MovementInValuationAllowancesAndReservesRollForward" order="0.0" 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="ValuationAndQualifyingAccountsDisclosureTable" xlink:to="ValuationAndQualifyingAccountsDisclosureLineItems" xlink:title="presentation: ValuationAndQualifyingAccountsDisclosureTable to ValuationAndQualifyingAccountsDisclosureLineItems" order="1.0" 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="IncomeTaxDisclosureAbstract" xlink:to="ValuationAndQualifyingAccountsDisclosureTable" xlink:title="presentation: IncomeTaxDisclosureAbstract to ValuationAndQualifyingAccountsDisclosureTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:title="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:title="EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:label="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:title="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:title="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:label="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:title="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" xlink:label="EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" xlink:title="EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:title="EffectiveIncomeTaxRateReconciliationTaxContingencies" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationTaxContingencies" order="6.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion" xlink:label="EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion" xlink:title="EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion" order="7.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:title="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:label="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:title="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:title="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:title="EffectiveIncomeTaxRateReconciliationOtherAdjustments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateReconciliationOtherAdjustments" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="EffectiveIncomeTaxRateContinuingOperations" xlink:title="EffectiveIncomeTaxRateContinuingOperations" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="EffectiveIncomeTaxRateContinuingOperations" xlink:title="presentation: EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract to EffectiveIncomeTaxRateContinuingOperations" order="12.0" 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="IncomeTaxDisclosureAbstract" xlink:to="EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:title="presentation: IncomeTaxDisclosureAbstract to EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:label="UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:title="UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" xlink:title="presentation: IncomeTaxDisclosureAbstract to UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:label="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:title="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="UnrecognizedTaxBenefits" xlink:title="UnrecognizedTaxBenefits" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="UnrecognizedTaxBenefits" xlink:title="presentation: ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward to UnrecognizedTaxBenefits" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:label="UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:title="UnrecognizedTaxBenefitsPeriodIncreaseDecrease" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:title="presentation: ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward to UnrecognizedTaxBenefitsPeriodIncreaseDecrease" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:label="UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:title="UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:title="presentation: ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward to UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="UnrecognizedTaxBenefits_2" xlink:title="UnrecognizedTaxBenefits" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="UnrecognizedTaxBenefits_2" xlink:title="presentation: ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward to UnrecognizedTaxBenefits" order="3.0" 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="IncomeTaxDisclosureAbstract" xlink:to="ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:title="presentation: IncomeTaxDisclosureAbstract to ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" xlink:label="DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" xlink:title="DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" xlink:title="presentation: IncomeTaxDisclosureAbstract to DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:label="IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:title="IncomeTaxExaminationPenaltiesAndInterestAccrued" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="IncomeTaxExaminationPenaltiesAndInterestAccrued" xlink:title="presentation: IncomeTaxDisclosureAbstract to IncomeTaxExaminationPenaltiesAndInterestAccrued" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShareDetails">
    <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="EarningsPerShareAbstract" xlink:title="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="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: EarningsPerShareAbstract to NetIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:title="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="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract to WeightedAverageNumberOfSharesOutstandingBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract to IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract to WeightedAverageNumberOfDilutedSharesOutstanding" order="2.0" 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="EarningsPerShareAbstract" xlink:to="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:title="presentation: EarningsPerShareAbstract to WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:label="EarningsPerShareBasicAndDilutedAbstract" xlink:title="EarningsPerShareBasicAndDilutedAbstract" />
    <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="EarningsPerShareBasic" xlink:title="EarningsPerShareBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareBasicAndDilutedAbstract" xlink:to="EarningsPerShareBasic" xlink:title="presentation: EarningsPerShareBasicAndDilutedAbstract to EarningsPerShareBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="EarningsPerShareDiluted" xlink:title="EarningsPerShareDiluted" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareBasicAndDilutedAbstract" xlink:to="EarningsPerShareDiluted" xlink:title="presentation: EarningsPerShareBasicAndDilutedAbstract to EarningsPerShareDiluted" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="EarningsPerShareBasicAndDilutedAbstract" xlink:title="presentation: EarningsPerShareAbstract to EarningsPerShareBasicAndDilutedAbstract" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:title="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="AntidilutiveSecuritiesNameDomain" xlink:title="AntidilutiveSecuritiesNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_StockCompensationPlanMember" xlink:label="StockCompensationPlanMember" xlink:title="StockCompensationPlanMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AntidilutiveSecuritiesNameDomain" xlink:to="StockCompensationPlanMember" xlink:title="presentation: AntidilutiveSecuritiesNameDomain to StockCompensationPlanMember" order="0.0" 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="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="AntidilutiveSecuritiesNameDomain" xlink:title="presentation: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis to AntidilutiveSecuritiesNameDomain" order="0.0" 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="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:title="presentation: ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable to AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareReconciliationAbstract" xlink:label="EarningsPerShareReconciliationAbstract" xlink:title="EarningsPerShareReconciliationAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareReconciliationAbstract" xlink:to="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:title="presentation: EarningsPerShareReconciliationAbstract to AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" order="0.0" 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="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="EarningsPerShareReconciliationAbstract" xlink:title="presentation: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems to EarningsPerShareReconciliationAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:title="presentation: ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable to AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" order="1.0" 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="EarningsPerShareAbstract" xlink:to="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:title="presentation: EarningsPerShareAbstract to ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/StockRepurchaseProgramDetails">
    <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="EquityAbstract" xlink:title="EquityAbstract" />
    <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="StockRepurchasedDuringPeriodShares" xlink:title="StockRepurchasedDuringPeriodShares" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAbstract" xlink:to="StockRepurchasedDuringPeriodShares" xlink:title="presentation: EquityAbstract to StockRepurchasedDuringPeriodShares" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="StockRepurchasedDuringPeriodValue" xlink:title="StockRepurchasedDuringPeriodValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAbstract" xlink:to="StockRepurchasedDuringPeriodValue" xlink:title="presentation: EquityAbstract to StockRepurchasedDuringPeriodValue" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="TreasuryStockAcquiredAverageCostPerShare" xlink:title="TreasuryStockAcquiredAverageCostPerShare" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EquityAbstract" xlink:to="TreasuryStockAcquiredAverageCostPerShare" xlink:title="presentation: EquityAbstract to TreasuryStockAcquiredAverageCostPerShare" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/GeographicAreaInformationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" xlink:title="SegmentReportingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:title="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsAxis" xlink:label="ConsolidationItemsAxis" xlink:title="ConsolidationItemsAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="ConsolidationItemsDomain" xlink:title="ConsolidationItemsDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_ReportableGeographicalComponentsMember" xlink:label="ReportableGeographicalComponentsMember" xlink:title="ReportableGeographicalComponentsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConsolidationItemsDomain" xlink:to="ReportableGeographicalComponentsMember" xlink:title="presentation: ConsolidationItemsDomain to ReportableGeographicalComponentsMember" order="0.0" 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="ConsolidationItemsAxis" xlink:to="ConsolidationItemsDomain" xlink:title="presentation: ConsolidationItemsAxis to ConsolidationItemsDomain" order="0.0" 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="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="ConsolidationItemsAxis" xlink:title="presentation: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to ConsolidationItemsAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="ConcentrationRiskByBenchmarkAxis" xlink:title="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="ConcentrationRiskBenchmarkDomain" xlink:title="ConcentrationRiskBenchmarkDomain" />
    <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="SalesRevenueNetMember" xlink:title="SalesRevenueNetMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskBenchmarkDomain" xlink:to="SalesRevenueNetMember" xlink:title="presentation: ConcentrationRiskBenchmarkDomain to SalesRevenueNetMember" order="0.0" 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="ConcentrationRiskByBenchmarkAxis" xlink:to="ConcentrationRiskBenchmarkDomain" xlink:title="presentation: ConcentrationRiskByBenchmarkAxis to ConcentrationRiskBenchmarkDomain" order="0.0" 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="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="ConcentrationRiskByBenchmarkAxis" xlink:title="presentation: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to ConcentrationRiskByBenchmarkAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="ConcentrationRiskByTypeAxis" xlink:title="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="ConcentrationRiskTypeDomain" xlink:title="ConcentrationRiskTypeDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_GeographicConcentrationRiskMember" xlink:label="GeographicConcentrationRiskMember" xlink:title="GeographicConcentrationRiskMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ConcentrationRiskTypeDomain" xlink:to="GeographicConcentrationRiskMember" xlink:title="presentation: ConcentrationRiskTypeDomain to GeographicConcentrationRiskMember" order="0.0" 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="ConcentrationRiskByTypeAxis" xlink:to="ConcentrationRiskTypeDomain" xlink:title="presentation: ConcentrationRiskByTypeAxis to ConcentrationRiskTypeDomain" order="0.0" 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="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="ConcentrationRiskByTypeAxis" xlink:title="presentation: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to ConcentrationRiskByTypeAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="presentation: SegmentGeographicalDomain to US" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_InternationalMember" xlink:label="InternationalMember" xlink:title="InternationalMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="InternationalMember" xlink:title="presentation: SegmentGeographicalDomain to InternationalMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd#srt_EuropeMember" xlink:label="EuropeMember" xlink:title="EuropeMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="EuropeMember" xlink:title="presentation: SegmentGeographicalDomain to EuropeMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20211231.xsd#tact_PacificRimMember" xlink:label="PacificRimMember" xlink:title="PacificRimMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="PacificRimMember" xlink:title="presentation: SegmentGeographicalDomain to PacificRimMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2021/country-2021.xsd#country_CA" xlink:label="CA" xlink:title="CA" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="CA" xlink:title="presentation: SegmentGeographicalDomain to CA" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="presentation: StatementGeographicalAxis to SegmentGeographicalDomain" order="0.0" 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="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="StatementGeographicalAxis" xlink:title="presentation: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to StatementGeographicalAxis" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:title="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_SegmentsGeographicalAreasAbstract" xlink:label="SegmentsGeographicalAreasAbstract" xlink:title="SegmentsGeographicalAreasAbstract" />
    <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="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentsGeographicalAreasAbstract" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="presentation: SegmentsGeographicalAreasAbstract to RevenueFromContractWithCustomerExcludingAssessedTax" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentsGeographicalAreasAbstract" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="presentation: SegmentsGeographicalAreasAbstract to PropertyPlantAndEquipmentNet" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <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="ConcentrationRiskPercentage1" xlink:title="ConcentrationRiskPercentage1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentsGeographicalAreasAbstract" xlink:to="ConcentrationRiskPercentage1" xlink:title="presentation: SegmentsGeographicalAreasAbstract to ConcentrationRiskPercentage1" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="SegmentsGeographicalAreasAbstract" xlink:title="presentation: RevenuesFromExternalCustomersAndLongLivedAssetsLineItems to SegmentsGeographicalAreasAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:title="presentation: ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable to RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" order="4.0" 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="SegmentReportingAbstract" xlink:to="ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:title="presentation: SegmentReportingAbstract to ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <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="OperatingLeaseExpense" xlink:title="OperatingLeaseExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="OperatingLeaseExpense" xlink:title="presentation: LeasesAbstract to OperatingLeaseExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_CashFlowOperatingActivitiesLesseeAbstract" xlink:label="CashFlowOperatingActivitiesLesseeAbstract" xlink:title="CashFlowOperatingActivitiesLesseeAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeasePayments" xlink:label="OperatingLeasePayments" xlink:title="OperatingLeasePayments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CashFlowOperatingActivitiesLesseeAbstract" xlink:to="OperatingLeasePayments" xlink:title="presentation: CashFlowOperatingActivitiesLesseeAbstract to OperatingLeasePayments" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="CashFlowOperatingActivitiesLesseeAbstract" xlink:title="presentation: LeasesAbstract to CashFlowOperatingActivitiesLesseeAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseDescriptionAbstract" xlink:label="LesseeOperatingLeaseDescriptionAbstract" xlink:title="LesseeOperatingLeaseDescriptionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:title="OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeOperatingLeaseDescriptionAbstract" xlink:to="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:title="presentation: LesseeOperatingLeaseDescriptionAbstract to OperatingLeaseWeightedAverageRemainingLeaseTerm1" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:title="OperatingLeaseWeightedAverageDiscountRatePercent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeOperatingLeaseDescriptionAbstract" xlink:to="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:title="presentation: LesseeOperatingLeaseDescriptionAbstract to OperatingLeaseWeightedAverageDiscountRatePercent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeaseDescriptionAbstract" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeaseDescriptionAbstract" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:title="OperatingLeaseLiabilitiesPaymentsDueAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDueYearThree" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDueYearFour" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDueYearFive" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDue" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="OperatingLeaseLiability" xlink:title="OperatingLeaseLiability" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="OperatingLeaseLiability" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to OperatingLeaseLiability" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:title="presentation: LeasesAbstract to OperatingLeaseLiabilitiesPaymentsDueAbstract" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesDetailsCalc2" />
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_QuarterlyFinancialInformationDisclosureAbstract" xlink:label="QuarterlyFinancialInformationDisclosureAbstract" xlink:title="QuarterlyFinancialInformationDisclosureAbstract" />
    <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="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="QuarterlyFinancialInformationDisclosureAbstract" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="presentation: QuarterlyFinancialInformationDisclosureAbstract to RevenueFromContractWithCustomerExcludingAssessedTax" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="GrossProfit" xlink:title="GrossProfit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="QuarterlyFinancialInformationDisclosureAbstract" xlink:to="GrossProfit" xlink:title="presentation: QuarterlyFinancialInformationDisclosureAbstract to GrossProfit" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="QuarterlyFinancialInformationDisclosureAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: QuarterlyFinancialInformationDisclosureAbstract to NetIncomeLoss" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:label="EarningsPerShareBasicAndDilutedAbstract" xlink:title="EarningsPerShareBasicAndDilutedAbstract" />
    <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="EarningsPerShareBasic" xlink:title="EarningsPerShareBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareBasicAndDilutedAbstract" xlink:to="EarningsPerShareBasic" xlink:title="presentation: EarningsPerShareBasicAndDilutedAbstract to EarningsPerShareBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <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="EarningsPerShareDiluted" xlink:title="EarningsPerShareDiluted" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareBasicAndDilutedAbstract" xlink:to="EarningsPerShareDiluted" xlink:title="presentation: EarningsPerShareBasicAndDilutedAbstract to EarningsPerShareDiluted" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="QuarterlyFinancialInformationDisclosureAbstract" xlink:to="EarningsPerShareBasicAndDilutedAbstract" xlink:title="presentation: QuarterlyFinancialInformationDisclosureAbstract to EarningsPerShareBasicAndDilutedAbstract" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>13
<FILENAME>image0.jpg
<TEXT>
begin 644 image0.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  @&!@<&!0@'!P<)"0@*#!0-# L+
M#!D2$P\4'1H?'AT:'!P@)"XG("(L(QP<*#<I+# Q-#0T'R<Y/3@R/"XS-#+_
MVP!# 0D)"0P+#!@-#1@R(1PA,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R
M,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C+_P  1" 0N"?H# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#W^BDI:$ 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444K@%%%%, HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **2E
MI7 ****8!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%-WCUI/,
M7UH ?13/-3UI/.3UH DHJ/SD]:/.3U% $E%,\U/6CS%]: 'T4W>/6ESF@!:*
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH ***0D"@!:*;O7UI/-7UH ?14?G)ZT><GJ* )**9YJ>M'FKZT /
MHIN]?6E# T +1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%)0 M%%% "4N:KW5P($W&LO^VDS]X4)";L;E%8O]L)C[
MPI!K*9^\*KE8N9&W16-_:Z?WA1_:Z>HHY6',C9HK&_MA/[PI#K"#^(4<K#F1
MM45C?VNG]X4?VNGJ*.5AS(V:*Q3K"#^(4O\ :Z8^\*.5AS(V:*QAJZ'^(4AU
MA ?O"CE8<R-JBL;^UT_O"C^UT]11RL.9&S16*=83^\*7^UT_O"CE8<R-FBL;
M^UT_O"D.L(#]X4<K#F1M45C?VNG]X4?VNGJ*.5AS(V:*QO[73^\*/[73U%'*
MPYD;-%8W]KIZBC^UT]11R,.=&S16-_:Z>HH_M=/44<K#G1LT5C?VNGJ*0ZP@
M_B%'*PYT;5%8HUA#_$*/[83/WA1R,.9&U16*=80?Q"@:PF/O"CE8<R-JBL3^
MV4S]X4IUA/[PHY6',C:S16)_;*?WA3DU=&.,BE9CNC9HJK;7(FZ&K5*PPHHH
MH **9*^Q":R9=71&(R*:38F[&S16*NL(?XA3O[63/44^5BYD;%&:QVU9 .HI
MG]LI_>%'(PYD;=%8O]L)C[PH&L(?XA1RL.9&U16*=80?Q"C^V$Q]X4<K#F1M
M9HS6)_;*?WA1_;*?WA1RL.9&WFC-8G]LI_>%']LI_>%'*PYD;=%8PU=#_$*?
M_:B^HHY6/F1K45E#4U/<4\:BOK1RL7,C2HK-.H*.](-27/44<K'S(TZ*BAD$
MBYJ6I&%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%07,PAC+&LS^V$W$;A32N*YM45BG6$_O"
ME_M=/[PI\K%S(V:*QO[73^\*3^V$S]X4<K#F1M45C?VNG]X4JZLA[BCE8<R-
MBBL5M80'[PI5U=">HHY6/F1LT55MKD3#@U:J1A1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%07$PB7)H GHK'?5T4XR*;_;"8^\*KE9/,C:HK
M%_MA/[PH_MA/[PHY6',C:HK%_MA,?>% UA#_ !"CE8<R-JBL8:NA8#<*U()!
M+&&%)IH::9+1112&%%%% !1110 4444 %%%% !1110 4444 %%%% !1152\N
MQ;KDF@"W16*NL(?XA1_;"9QN%5RLGF1M45C-JZ ?>%(-80_Q"CE8<R-JBL<:
MLA[BAM70?Q"CD8<R-C-%8G]LI_>%3V^I+,^T&AQ:&FF:E%(#D9I:D84444 %
M%%% !1110 4444 %%%% !1110 4444 %%%4[R[%N,DT)7!NQ<S5:[F$4><UC
M2>((T.-PK)U7Q&C0$!A6D8-LB4TD7[C6A&3\U95SXG$8/S_K7&WNM%B</7,Z
MAJKG=AS7='#)G#+$-,]!E\:JK']Y^M5V\=*/^6GZUX_<W\Q8_.:HO>3D_?-:
MK"HI5SVX>.E/_+3]:?\ \)PO_/3]:\02[N/[YJ7[7.!]\U+PJN2\0SV^/QJK
M'_6?K6C;^*A)CYZ\&M[Z;/WS6]9:G(N,N:I85"6)9[C;:Z)"/FKH+&Y$ZYS7
MB5AK94C+UW&B^(T6, N*YJU#EC=&]*M=ZGH>:*YQ/$$;?Q"M&SU%;AL UQN+
M1TJ29I4445)04444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !112$X&: %HK*N-36*3:2*C_M=,?>%5RL5
MT;-%8W]KIZBFG64!^\*.5BYD;=%9MIJ"SM@&M+M4M%)W"BBB@ HHHH ****
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
M<B$0W4]XQMH]Z<#GBI:$V,C7%6%=E'%,"X-3;/EJ4K"3=Q8[YT/6M6TUN6/
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
M HHHH *BFF$2Y-2$X%<_XAOQ;PDANU5&-W83=D97B#6$B5@&_6O(M>UMY)7
M;CZU=\3Z\QE8!JX:>Z,\A)/6O4HTM#SZM05IWD<Y-."@CFF1K2L<&NU0.*4Q
M>AI&)-(3Q3HAN/-6D87N.4?+S30?FISG:<5'FNA+0=R8]*;2 YII/S5+$]Q]
M!% Z44[Z$L3.!30V32,:$ZTKE):$E2J!BHJ3?@U+!%C JM*OS<5('I&YHBKB
MN"8 I),$5"7(;%.W9K5(J]AM.*C;3E&136/:LJD!Q8^VD,;<5OV&KR1.H#5S
M:\5+',5<&N*I3.FG.Q[+X;UK<Z;F_6O2K.[2>-<&OG32-5,+K\U>M>$M8%Q@
M,U>;7I6U/1HSN=]134<.N0:=7(=(4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%(3@4 <SXPE\NP8^U?/GB*?S9FY[U[EX_N0FF
M/@]J^>;V8RSM]:]/!+0X,4]1D0^2GQ_>I8A\E*1MYKUDM#@<A7I5'%(OS4ZG
M8S<B.7BNG\+W[0R(H/>N6G/RUH:)-MN8^>XKS\1 ZJ,CZ7\/2F73T8^E;%<[
MX3E#:7'SVKHJ\:6YZT=@HHHI%!1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !112&@!:J3WB0_>-322!%))K@O$^M?9W8*U5&-V1*5D6_%>
MN1KI[A6YQ7ANJ:K)/,XSWK2USQ(\^^/>:Y=&\UR3WKNP],XZU2XA)<Y-.0 4
MK+BF,<"O1C"QQR9-P:0@8J)'S3BW-:K8Q8Q\T1Y%2A0:0KBFF.*N(:5",TPY
MIK$@4<Y7*2R$5 ST#<PJ(JV[H:SE/4.4GA;+<U*^*K;67G!IZEC0IW'RDP -
M2H *@4G=3I7VK3N18DD89XJ(\BHPY:GKR:I$-:BIQ4,HR]3MP*:%W#-3-7*3
ML"_*N16IIFI/;N.:RAUQ0S&/D5SR@;TZECUWP[KF[9N;]:]0TV^2:%<'M7S9
MI&JM$ZC=7K/A;6O-9%+UPXBGH>A2J'IHZ45%#('0$&I:X3J"BBB@ I#TI:0]
M#0!Y?X^QN;->,W^//->P?$-RKFO&[ULRFO4PZ]T\ZN_>(@:LPA2M4-QJQ%)@
M5VP.21+(!4..:E8Y&:C3DUNC*XX=*9_%3F.*3MF@38K]*1>E)G-!X-(3%'6E
M8TG;--)K1$]21<;:;WI%-./2FAL1J<O2FKS2YYQ2D@3 #FD;VIQZ9I@YK*VI
M38X?=I%^]1GM0>!5-"N*QIPZ5'G-+FA(KH!IO>E--J@;)?X:11S0IIQX%1U
M1J0CBD)I >:JPI;"8YH[TK\4B\BJL-:HE4#%*0,<TQ6YI)FP*S:$MR;2@/[7
MA_WA7T]X9_Y!$/\ NBOE_13G5HO]X5]0^&?^01#_ +HKR<=T/5PFQLT445YQ
MVG!?$LXT=_I7SO'\T[_6OHCXEC.CO]*^=XOEG;ZUWX0X<66QP*:XS0329S7M
M0V/(DQT2TYH^,TBMBI2X*UJB$RN%P:",TI/-**FP[ZC-M*!BGTTFFD-L0C-)
MMIXI318$QA^6HR<FI3\U1D8-58+DH&5H"XIJM3B])(?0"O>F^U/W<4SH<T6#
MH+THQGFD)S2@\8J["N'7BCI2#@YH8T6&&,\TC=*>#Q32*&@0BTNWFF@T\-46
M)ZB$<4*,4X\4 U(Q?+[TAXJ3>,8J%Z$ FZE]Z8!FG]L50PZTF<<4HXI",FBP
M,7'>E#48XIAXJ7L.(.]6=,_X^!]:I-R:NZ8/WXKDK;'3!:GMO@'H*])[5YMX
M!Z"O2>U>'6^(]:E\(4U_N&G4V3[AK(U///%[?N91[5X7?<7KGWKW'Q?_ *J7
MZ5X=?G_3'^M>IAEH>;B'J(IR*,\TQ#@49YKU(G!8<_2F*N:5CD4*<"KYB;#2
MW.*<..:BQ^\S4Q'%4)AUI0.::#BG*><U,D2/V4UA3]X(J-FI)"ZB'FD Q0#2
MFG<+B$9I,]J,TT<'-"8Q_2F9YIQYI-M!2'!LC%(5I ,&I <TT)L ,"FGFG$U
M&#S5 D+LIO0U)N%-/)I($.7YJ9+\HQ4L:X--F7-+D-(LHE,MFM?27,4@.:S<
M8-689/+.:Y:D#=3L>I>'M?\ (*)NZUZUI5R+BT5\]17S+97[)<H=W0U[7X4U
MP26T<1;G%>5B*5M3OH5+JQWPI:CC;<@/K4E<1U(****!A1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 (_P!PUY5XYN_+=US7JDG^K;Z5XI\0I2+M
MAFNC#_&88AVB>67C;[UC[T\' J.5<S%J=UKW:2T/(J2'XSS0.3B@'"TT-\U=
M"1B*XQ2*,T2-FA&H;!L4C IT;\4DA^6HD-0WJ*0LJ[CFDB7FI#TIL9PU-ZH(
M2U&,WEW*'WKVOP-JV+2./->)3C=*I'K7H?@NX*S1+GO7F8J%T>G0G8]\@;?$
MI]14M5; YM$/M5JO(9Z*"BBBD,**** "BBB@ HHHH **** "BBB@ HHHH *X
M;X@_\@UOI7<UPWQ"_P"0:WTJZ?Q(BI\)X!=_ZYOK4(;M4MX?WK?6JX/->_0V
M/&K;DG2CK2$Y% XKL3T.4=GM0!3>^:<#4R8QP-.QN&*BSBGH^#635RHNQ)%^
MY<'WKU;P5JVR%$W5Y++)TQ73^&+\QSQKN[UY^(AH=M&=F?15G+YL"MZU9K+T
M*3S-/C;VK4KR7N>JGH%%%%(84444 %%%% !1110 4444 %%%% %+4O\ CV;Z
M5XMX['[MJ]IU(_Z,WTKQ;QTV8VKLPNYSU]CS:,\D5,4XS5=/O'ZU8+_)BO=I
MK0\>IN-!S06QQ38_O4.,FK:,F+VS2=:,\8H'%#V!" X;%=WX$_Y"2?6N"SF0
M5WO@,_\ $QC^M>5BMCOPRU/?8/\ 4+]*FJ*W_P!0GTJ6O(/5"BBB@84444 %
M%%% !1137.U2: *U_,(8&;/2O*_%VN_(RAOUKK_$>KB*WD7=VKQ'Q'J)G=P&
M[UV8>G=W9S5IV5C+OYC=.6SFLO9AZLP/E3FFLOSYKV*<-#SYR%!P*0\\TNWB
MEQ@5<M#FD,7DXJ8?(*B48;-/D;(I(E(&^;FF=Z%;BE'6MXO0+ ?EIAZT\\TW
M%3<$KCT-28J)1BI=U%P2&%*0#!I6DQ2*V32;!H&.*,<9I'7FG \8I)Z@D(O6
MG,<4T<&E/S5<6%AHCW-FG.FT4Y6Q1*V5IIZ@R)6[5+LR,U7'WJN(?EQ0V+8@
MV5"_#5;?BJCC+5A*-V:19;MI2I!S7:>'-<^R2+\U<(ORC-30W31R @]ZY*M-
M-'73G8^F_#NH"]M0V<\5O5Y!X*\1".%(V?D^]>KVDPG@5_45Y%2#BSTZ<KHL
M4445F6%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %5[R3R
MK=F]!5BL_6&VZ?(?:FMQ/8\K\;ZMYT,D6ZO(I%_>$^]=AXGNR;J52>]<CG<3
M7LX6-D>57DVQZ<+22-Q29YQ2R)A<UV)G"WJ+%TH)^:DB/%(?O5K'48LHRM%C
M)Y5RGUH<_+4<8_?*?>N6M$VINQ[]X-U+-G&F>U>@1G<@->*^#+TAXDS7L]J<
MVZ'VKQ*T;2/6H2NB:BBBL3<**** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH *0]*6JM]<"WA+D]* ,3Q'J8LHB<XXKQWQ%K1N96^:NF\;:X)4
M95>O*;JX:20G-=M&GI<XJTR"<&24FF >74BM0Z[^E>G3IV.!SN*#N7-0,<G%
M3 ;5Q497!S6Z1%Q8TIY6F"0"G>9NXK.4K E=B;\4;BQJ5+<R'I6I9Z.TI'RU
MBZEC:,#/2 LN<5*EF7.,5V=GX99X@=E7K?PNRORGZ5DZZ-U29Q46E'^[5@:(
M2,[:]!C\.$?P?I5U=!^3[GZ5DZR+5+0\MDT@X^[5=M-*#[M>I/X>S_!^E4Y_
M#9/\'Z4XUD3[)GEDUN8\G%4VRYQ7H]]X7?83L/Y5S,VA-"Q)6NB%12,I4[&
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
MB!$"_>KO/ ?_ "$H_K7"C[]=]X#'_$QC^M>5B7H>EAMSWRW_ -0GTJ6HK?\
MU"?2I:\@],**** "BBB@ HHHH *IWMP(H6R>U7#TKD_$E^+>-QNQQ515V1.7
M*KGGGB[5SYLB!J\PNYFFD;)[UL^(]0:6^<9[UAJ-QS7K4(61YE:=V$615C'%
M1[<5)GBO0B[(XY2N)P*0\U'*V.E.BY'-$G<26@,.*C&34K]*;&.:$M1(B.0:
MD[4KKS2>U6Y6-$AR'UI"1FFG/:D*L1TK)R&HCRXQ3/,J,)(3T-(\4F>AJ',I
M0!F)-.C;!YI\=LY'W31);NHZ&I]J'(2>8,4T'+56Q)GH:LQH<9(IJ9+A8<_W
M:$/'-#]*A+8-:Q=R;$K9S2<FI$&5IVVM"2 C!J:,U$_6I%Z4/43'2]*KXYJ=
MCFHC]ZI818YA\E5><\5;;[E,C0&L91-H2L:.AZG);WL8W8&:^AO#6K)/8Q+N
MYQ7S)N\FY##L:].\$:\QN(XV?BO/Q-*ZN=]"IK8]T!R,TM5;:Z22)2&'2K((
M->8=XM%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 ':L+Q!>
M+'82KGM6VYPA->:>,=3,2R)N[5I3CS2,ZDN5'D?B*X\R^EP>]8\/O4E_,9;U
MS[U&/EKW**LCR:SNQW_+6K4JCRJJK][-62V5Q6Z1QMZE9>*7'.:5N#3L?+6D
M="^I&W(IT2\YI!R:E'%955<N+U.L\*7>S4(QGO7OVF7 DM8_I7S1H-QY>HIS
MWKWGPU>>=$@SVKQ\3#6YZ>'ET.MHI!TI:X3M"BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** $8[5S7*^*-46*R< \XKH+ZX6*!LD#BO'/%FM
M$R21AJVHPYF959\J.+UW47GF<;N]<_DMS5B[E\R0GWJ*->*]BE2/)JU!O(JQ
M;D'K4;+Q34?::[$K(YU+4FE^]Q4<N/+I^=PS43Y/ K*<[&L5<JC)-7[2RDE<
M8%):6;RN,*:] \.Z%YFPLE<52H=,*9EZ=H4C;25_2NRTC0L$97]*ZZP\.HL*
MG8.E:\&E+%T45Q2K'9&D5].TB(0#*U>&E0C^$5>BC\M<5)7,Y.YNHJQ0&G1?
MW:=]@C]*NT4KL=BE_9\?I3#ID1_A%:%%%V%D8EYI$30GY17%:MH:X;:OZ5Z:
MZ[EQ6=<:<LN<BMZ57E,JE/F9X-K&ARAF(4_E7(W%E)#*<BOHZ_\ #D<D3'8.
ME>6^)="\DR%4KMI8BYS3H6/.G/:I(CQS4DELZR-E3UJ,C:V*[(2N<-6-B1ON
MYJ($DU,_^KJ&(9-=%[HQY;$R].:C;*'(I^<&DE'R5C*-S:+L;WA[4FAD7GO7
MNGA;4!+9KD]J^;+*<Q2CZU[!X/U7$,:EJ\VO2.ZC5/75.X9I:JV<ZR0J<]JM
M5Y[.Y!2'H:6D/2D,\I^(4+/(<5Y+<63^8>*]W\6V7VASQFN!FT4E_N5UTIV1
MR5879P2V4GI3)+%]W2N]_L0C^"FG1"?X*Z%5,94SB/L+[.E1I8ONZ5WO]BG&
M-GZ4@T,@_<K3VQ+I'"/8R9Z4IL7V]*[T:'D?<IK:(>FRAU;DJD<$EB^>E#64
MF>E=W_89'\%']AD_P5*K:C]D<-]B?;TH6R?TKNO[$/\ <H&B$?P52K#]EH<&
M]C)Z5$;9T[5Z(="RF=GZ5C:AI1B4G;BM:56[,IT[(Y/!'6E!J6Z38:K UVK5
M7.*4=2;-*#Q4:GFE8XII!LQ#RU/\LN,"FC&*TM)@^T3;<9J)RLC2$;LSOL;Y
MZ5-]B?9TKLO[$/'R59&B'RON5PSJ:G4J>AP*V<F[I4OV)\<BNTBT0E_N5,^B
M$?P5/M1^SU."^PONZ4YK%\=*[D:(?[E+_8A_N4U6+]D<,MD^.E,-D^[I7>#1
M3_<I/[$/]RDZP_9G"M8OZ4Y;)\=*[C^Q"?X*7^Q2/X*CVXU2T.#^P/NZ4_[
MX'2N\&A_[%._L/C[E/VUS-TS@M,LW&KQ$C^(5]->&EVZ1"/]FO';312FHQML
MZ&O:=%3R]/C7T%<F(E<[,/&R-*BBBN4Z3@OB6,Z._P!*^=5.R=OK7T;\1QG2
M'^E?.KI^_;ZUZ&#1PXHL@Y7--'S-BD!PN*=$/FS7KQ>AY4MQ&&VF;N:EFYJ(
M+6RV(:'XR*81@U**0C-*X1&!>,TO6G>U)C%-#L,88-. P,T$9-.(^6AO00T'
M-&[!H5>:&7FE<+:C\X&: ^:83\N*:AP: L*YYQ0!WIVW<<TN,"FB6)3@>*;1
M02%%%% ";NU(PXS2[>:5^E,M"QINH=,4^ X%+)S5 5@<&G;Z-G--*XJ&,>&Y
MIQ.!42]:D89%2 F,TW/:GC@4W'.:8,3I3UY%-/-.' Q0)(:3DXJ6/BHL<YIX
M:ID4D)+R:FTW_CX'UJ%AFI]/&+@?6N:K:QTTSVSP!T%>E=J\T\ =!7I?:O$K
M_&>M1^ *;)]PTZFR?<-8FQYSXP_U,OTKPF].;YQ[U[MXQ_U,OTKPF\&+Y_K7
MLX78\W$"*<4X^M- S3^V*])(\V3&#DT$[:<%P::XR:&M";CU-#G(H4<4$5(F
M0]#4X^Y4+=:D+?)3YBDAN[FE#5 7P:4/0I%<I9/3--4YJ/S<C%('Q4.0^0E)
MP<4X]*KE\G-.\S(Q1<.4>/FI<X.*C5\4A?)S51E8'$G/2HCS2>9D8I,U<IDJ
M)(IYQ4VW S59>N:L[\C%3<+6&,V*C/S4YQ0JU2"XP+MYHSFI2N13-F*:8KZB
MANU(PHQCFE/-#07&;,BE0^6V:>.!377(KFJPT-Z<CN_!>JF*=1N[U[;HUU]H
M@!SVKYLT&<V\XY[U[WX,N/.LU.>U>1B(65STZ$KZ'74445Q'6%%%% !1110
M4444 %%%% !1110 4444 %%%% !1124 <-XZF\NW/TKPS5YO,F/UKV?XC2;+
M8\]J\,O'WRGZUZ>#6APXEE9>M3KS42K4HXKUD>-4>HAXHH/-%:I:$"8S3<X.
M*DZ5$1\V:B2-%L2@\4I.:9GBG+32U$T1L<&E5L4CCF@#-:6T&D2-\XI^CS>1
MJ:'T-,^Z*BM_ENPWO7GUT=5+0^B/"FJ>?#&F>PKMQT%>0> ;DO,BYKUY/N#Z
M5XE96D>O2=XCJ***R-0HHHH **** "BBB@ HHHH **** "BBB@ KAOB%_P @
MUOI7<UPWQ"_Y!K?2KI_$B)_"> 7;8E;ZU /6I;P?OF^M1 \8KWJ&QXE;<7.>
M*7I2 8H;FNQ7,!">:<IS3<4JC%$D#%)YI<<9I",FG_P4D@1$[9J'HV:>PYHV
MY7-95%H5%ZG3>%M0,5\G/>O>= OOM$2C/:OFC2IC#> YQS7N?@:]\_:,UY&)
MAU/4PTNAZ-2TWM3J\\[D%%%% PHHHH **** "BBB@ HHHH *\O\ BI_QX'Z5
MZA7F7Q27-B?I6U#XT9U?A/"(_O'ZU/NXJ$##'ZU)CBOH:3T/$J;B@XIC#+4X
M<T'K6]S(<A[4]SQ3 ,4IYJ)ZH:& _/7>> V_XF4?UK@@/GKO/ 8_XF4?UKR\
M2M#T,/N>_P!O_J$^E2U%;_ZA/I4M>0>F%%%% !1110 4444 (QPIKR7X@ZI]
MGE90U>EZE=BVA)SCBO!/B)J'VB\.&[UO0C>1A7:Y3D+IOM%P7]:39M%,@/RY
M-2,V17LT8GC59.Y&S<TF_BD*Y-#+\M=*1G$0?.:G5=JU% /FJP]-*Y?0J._-
M/A;-(T63FFC]W1+0+$LAJ),EJD3]ZV*W-+T5KF0?+G-<M2I8VC&YFPVQ?M6K
M;:49 /EKK;3PHP /E_I6[9^'"F/D_2N>5=6-U1=CB(O#N1G;^E6!X9W?P?I7
MI46B@*/DJRFD #[M9NLB_9,\O'AW;QL_2F2>'LC[M>H-I S]W]*:='']VI]J
MAJDSR&;P_L_AK,N+$Q9&*]EN-## _)^E<]>^&"['"?I3]LA2HL\J>,@GBJLB
M$'I7H%]X8:($[/TKF-0T\PD\5T4ZR,)4[&/')SBIR>*K%"LE2L?EKLC.YSRC
M84_-S3<XXIR=*0IS6JU,NH;J!S2[*.AQ2DA@WW:2,XI[#Y<TQ!DU%KCBR";E
M\ULZ%?&RN%?.,5FM%SFF\KTKFK15CKINVI[EX=\1_:0J[_UKT*PF\V('-?.W
MA;4##( 6[U[OX:N//LE;.>*\BM%(]&E*YO4445SFX4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% $<QQ$WTKP[QY>8O9$S7L&JW@MXFY[5X#XVNO-
MU!SGO73AE[QS8F7NG(RC,I;WI*0/N;%2!*]J"L>3-Z@O H:3 J7R_DS4&PLV
M*W2,4M10VZG@]J;L\N@=<T^AHT.?Y1FA&R*'^84U!M%1): BWITFR]4^]>U>
M"KKS&09KPR%]DP:O6?AW=>9<*,UYF)7NG?AGJ>QC[HI:1?NBEKRCT@HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "D8X4TM5+V?R8R<]J:5Q-V.,
M\6:U]EWINQ7BVM:B9[ASGJ:['Q[?EKE@&[UYI,3(Y->CAX6."M.[&;MS5.G
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
M?0D/^J7Z4^F1?ZI?I3Z\(]<**** "BBB@ HHHH **** "BBB@ HHHH ****
M."^):[M'<>U?.B1%9WX[U]->.;;[1IC+C/%>*#0"96^7O711E8YJ\;G+$MTJ
M/8PYQ77IX>9Y@-M7KCPHT< ;9^E=T:MCC]D<,D98=*80RMC%=A#H1 /RTQ_#
M[%\[:VC5,Y4SE@IQTI=IQTKJ_P"P3C[M']@G^[2E5&H'(D'.*=L([5U7_"/M
MG[M._L$X^[2=4;IG)[3Z4.IV]*ZS^P3_ ':1M )'W:M52>0XS8Q/2ID1@.E=
MK9^%FE/W/TI+SPVUOGY*GVBYK#]F[7.-+'I3HZT+O3S%GBL_&TUTP9S31*?N
MU!C+5,#D4S&&S71$S8N,48XI>M&<"M16&]3BE/%-'6G'FE($K!CO3'.1BG9Q
MQ2JFXUE)E16HV*,GM1)"0,XK;T_3S*.E:C:$6C^[7/*H;J)QD6=V*ED!KI4T
M!E?[M3?V S?PUDZNH^0XT(=V<5852>U=,= (/W?TIZ:$1_#4.H4H'*LA!Z4F
MTXKK'T(D_=IG]AGIMIJH4H'*[2>U&TCM75C03_=I3H)_NT>U#V9R;(<9Q35#
M'M75MH9QC;5JQ\,--_!^E*56R+C2U.'<L.*L:<I$X/O747_AIHI,;*ETOP^S
M3@;?TKG<[ZFZIGH/P\)P,UZ>.E<5X2THV0!(Q7:UY]1WD=D%9!39/N&G4V3[
MAJ"CSGQA_JI?I7A=^/\ 37^M>Z>,/]5+]*\+O_\ C]?ZU[&$V/,Q Q1D4\4Q
M3BG^]>I%Z'F20C<4+S36:G1]*I"L-8TT'!I[CO47>HJ:(N.YH6,7FS+]:]3T
M'2A);I\O:O,-+?%P@]Z]P\+(&M(SCM7FU9-(ZZ<;LGBT ;0=M//A\'^&NK1
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
M]J]8@?S(P:\2LK2/6I2O$EHHHK(U"BBB@ HHHH **** "BBB@ HHHH ****
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
M[U=UX#'_ !,T^M<-_P M!7>> _\ D(Q_6O-Q3]T]'#;GOUO_ *A/I4M16_\
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
M_#YS8)]*UZPO"[[],0^U;M>'/XF>Q'8*2EHJ&4%%%%, HHHH **** "BBB@
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
M_6O=_")RB_2O'Q&B/4P^YW':BD'2EKSSN"BBB@ HHHH **** "BBB@ HHHH
M***1ONF@#$UR_6&UD4GL:^>/$MQYNJR'/4UZUXTO6A+J#7B>IRF2\8^]>CA8
M=3BQ$^A#UI"<"D6D8U[$59'DRW&@_-3SR*B[U(E:$##Q3X%W/BFN*LZ?'OG
MKGJO0WIGK'PY@ (XKU50 ,5YUX!@V <5Z/BO$K/WCT(+2YRGC*+=I[<=J\#U
MB/RYF^M?1'BB+S+)A[5X+XG@,4IX[UTX66AE61A*WR4L1^>H4SBI$ZUZL7H<
M$B2;DTG\&*4G-(:M:BB0H,-6C8R;;J/![BJ)XJ2VDQ.OUKFK;'1#<^B?!]\#
MIT:Y[5V*G*YKR?P=>GRXES7JEN<PJ?:O#K1M(]>E*Z):***Q-0HHHH ****
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
M QK32Q"X.VME1A0*,"EH;N 4444@"BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH *CF8+&V?2I*QM9O/L\3<XXII78F[(\J\>W6+IP#7E[R;[@_6N
MO\9WWG7C<]ZXK/[S->SAH:'D59^\RPXXIHIRG>*8YVBNMJQE'5@_S#%=UX'L
M_,8'%<#"V^3%>M_#ZVR <5RUI61O")ZAI4'E6P&.U:*]:CMDVQ@5,%P:\F3N
MST()6'8JO=INA(JU44@RN*B+U'):'E'C:R_<,<5Y)<)Y3D>]>[^,[;-JW':O
M$=73RY3]:]:A*YP58F?GO3T.:K!ZEC.*[;Z'&]Q91S6GH4_D7JMGH:SGY&:+
M2;9<#ZURUEH:TW9GT)X3U(W*HN<\5W Z5Y-\/;C?(HS7K*_=%>145I'K4G>-
MQ:***S-0HHHH **** "BBB@ HHHH **** ,K5Y_)A)SVKPSQS>^9<GGO7LGB
MF7R[4GVKP'Q9/ON3SWKMPT;ZG)7=C! W'-2[.*BA/ JSVKUX*R/,F[L5%&VJ
MDJ_-4YDV\5"YSS5RV%!:FEHL!>9<#O7OG@>(QV2@CM7D'@JQ^UW &,\U[OH5
MG]EMPN,<5X^*DGH>G0C;4VJ***X#L"BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH *Y'QU_R"G^E==7(^.O\ D%/]*NG\2(G\+/G:_P#]>WUJ
M!!\M3W_^O;ZU75N,5[]+8\6KN+U.*1N*7IS1]ZMV8=2-Q\M=O\-3_P 35?K7
M#RG (KMOAI_R%5^M<.*^$[\/NCZ*A_U2_2GTR'_5+]*?7B'JA1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5!
M=?\ 'NWTJ>H+O_CW;Z4UN)['D/C,_+)7DLHQ,WUKUGQA_P M*\IG'[UOK7L8
M5Z'F5QF*4],4Y?NTT?>KT([G!( ,4A'>I#1VK7J9=2.F$4[O0PH8+<;5FSYE
M'UJ#M4]C_KA]:Y*VQUTM&>W?#@8A%>EUYO\ #K_4BO2*\&M\1[-+X0HHHK(T
M"BBB@ HHHH **** "BBB@ HHHH **** "FR?<-.ILGW#0!YSXP_U,OTKPN]_
MX_7^M>Z>+_\ 52?2O#+[_C]?ZUZ^$V/-Q&Y'C-)3TZ4UAS7I1//8(<&G-R:9
M3UK6^A#0O\-1C@U+VJ-ZSD] CN:.FC-RGUKW/PI_QZ1_2O#M)_UZ?6O</"O_
M ![1_2O+Q!WT5J=Q']P4ZFI]P4\5Y3/30M%%%(L**** "DI:*30!1113 ***
M* $-5+W_ %+5;-5;S_4GZ54=S.>QY+XX_P!2]>4.?F:O6/'(_<-7DDI^<U[5
M")X]7<B8?-4L=-QD4].*]**LCFD2GI4'\=39R*B_BIL0]AD57;@U9SQ5:7[U
M93U0X[E_2A_I ^M>V^!@?EKQ;1Q_I"U[;X('W:\W%_">EA=ST,=*6D'2EKQS
MTPHHHH **** "BBB@ HHHH **** "J&HW8MXB2<<5?KD_%]R8+4D'M515W8F
M3LCQ_P"(E[Y]Z<'O7")DG-;?B>Y,]T23WK'C'RYKW<-&T3QZ\KR)E.*8RY?-
M%2*/6NPY;V9-_P L\56/!J7=VJ-Q2;$AJ<R 5V_A"WW7B'%<1",SJ/>O3O!=
MMFXC.*X:\K([**/5],B\N)?I6NO2JD$>V)?I5Q.E>1-WU/2@M"&X&4->5>.[
M?)/%>L2#(KSWQG;[PW%;4'K8RJH\/NTV3XJ-ONU>U5-ER15/M7KTWH>94W&H
M,48YI12DC%="9DA3R*KR+AJE4_-22#-*>Q<7J;OA2X\O4H^>]?1&C7@EM8QG
ML*^9=%F\O4$^M>\^$KLRJ@SV%>1BH7U/3P\K:'=44@Z4M>:=P4444 %%%% !
M1110 4444 %%%% !7#?$(_\ $M;Z5W-<+\0_^0:WTJZ?Q$5/A/ +H9E;ZU$.
MF*GG_P!:WUJOWKZ##_">)6U8HXI3S0W2A>E=:[G.+VI@'-.SS2FB;L#6@E)L
M(.:5?O8J\+<M%D"L^8$B@W-*/NT^2(H>:;D8IJ5QM$7\52#BF ?-FG/3 =L+
M<TGM5B$#RJKGB2A["3U(G7# UUGAF^,4\8W=ZY=\&KNF3F*X0YZ&N"M"YUTY
M6/I'0[\2VL8SVK?7I7F?A'4O-,:9KTN/[@->/5CRNQZM&7,KCJ***R-@HHHH
M **** "O/OB*,V9^E>@UP'Q#_P"/,_2M:/QHSJ_ SP>\XD/UJNHYJ>_/[X_6
MHDQMKW*3/$J+44CBD'%.-1L?FKL1@+CG-#4[^&FTVAQ0U?O5W?@,?\3-/K7#
M+]^N]\"8_M%/K7FXK9GH8?<]\M_]0GTJ6HK?_4)]*EKPV>J%%%% !1110!'/
M_J6^E>1^-%SYM>N3?ZIOI7E'C)?];6U%V9C6V/&)EQ=-]:<!FI+H?Z0WUI%Z
M5[5'8\BIN';%"\&DS\U*>E=B9SM"-R:7'%(#3EZUHWH0]QF,&M_0[KR[F/GO
M6'*..*?93F*Y3GO7!75T=-"5F?2?AN^#V4:Y[5TH.1FO*/">K@)&I:O3;2Z6
M9!@UXM:'*SV:4^9%NBBBL#8**** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
MXCQI<^3$>:[5W"+DUYC\0KP",X-:T5>1E6=HGDVN2&>Y)SGFL5DP*T[B02,2
M:IR 8KW:4;(\6;U&P>]-GZ&E0XH?YA6D]BX"Z7 9;H#WKW'P':>4@R*\F\,V
MOF7R\=Z]V\,VODQKQVKS<3+0ZJ:.K08%24U>E/KS&=\%H)36%/I*!M:'*>*H
M/,M6X[5X5XEM_+G/'>OH;6X?,@(]J\2\86FV<\=Z]##2]TXJRU.""'-2J*D9
M0#BD48KTH:GGRW \+59,B;-3R&H]O>HJQN$'J>H?#V]$4RY->TV<XFC!![5\
MY^$[PP3CGO7NWANX\^V!SVKRL1"VIZV'E>)T%%%%<ATA1110 4444 %%%% !
M1110 4444 <AXUDV6;?2O =>S+.3[U[KX^;;9'Z5X3J#AI6SZUZ6$6APXEF;
M$,<5/G J(?>IS'BO51YDB-P6-.V97%/0#'-21X+XJ:CLC2F>B?#& ?:AD=Z]
MOC0*HP*\?^&\>V<&O8U^Z*\'$/WSUJ*]T6BBBL#<**** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ KD/'?_(*?Z5U]<CXZ_P"04_TJZ?Q(B?PL
M^==0XG;ZU609JQJ1_?M]:BB^Y7OTMCQJJU ],4J\"D[T-6[.?J0S<YKM_AG_
M ,A5?K7$N/EKM_AH/^)JOUKAQ7PG?AGJ?1,/^J7Z4^F0_P"J7Z4^O$/5"BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
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
M4I-'1"HF=;160-9B/\0_.I4U.-SP:QY6:\R-*BHXI!(N14E2,**** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHIKMM4F@#G?%\GEZ8Y]J^==?G\V=QGO7N?CC44_LV1 ><5\^WLADN7^
MM>AA5H>=BY:D=OPM68WPU01K\M&2&KUZ>B/.O=EB9P13+(;[M1[U [&M'1K<
MR7L9QWK.L]#IIH]<\'6FPQMBO3DX05QWAFT\NWC..U=DHX%>)6=Y'=2T0\4Z
MF"GU@SICL%(:6FTAL8PXKCO$UGYJ,<=J[-AQ63JEN)+=\CM6U*5F<M5:'SCK
M\7EWCCWK'B^]75>++8K?R8'>N54;6KV:#T/.J1)B*A:IL\5"W6NOH8K1CHFV
MN*]%\)7)!09[UYL>"*[#PM=A)HU)[UP8B.AV496/H/2FW6:'VJ]69H;[]/C/
MM6G7BRW/56P4444AA1110 4444 %%%% !5#5FVV;'VJ_69K9Q8O]*<=Q2V/%
M/%\Q8N,UYZWWC7;^*9,R2?6N)(RU>Q0/)J@HP:>3D4G:A1@\UZ"T1QWU#HIJ
MWH*?\3-3[U4:M30(]U^@'K7/6>AT45J>[>%2/+3Z5V0Z5QWA:%D1"?2NQ'2O
M"J_$>Q35HBT445F6%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 5R/CK_D%/]*ZZN0\=_P#(*?Z5=/XD1/X6?/%__KV^M5U/RU/?_P"O;ZU5
M6O?I;'BU=Q_?-!YI2.*1>E;O8P6Y"YXQ7<?#0?\ $U7ZUPTO6N[^&O\ R%%^
MM>?BG[IW8?<^AX?]4OTI],B_U2_2GUXQZP4444 %%%% !1110 4444 %%%%
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
MIIG7T5%#*K1@YJ3</6LBQ:*3(I: "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH *K7S[+5V]!5FJ.K,%L)/]VFMQ/8\6\9:N
MS/+%NKS)CNE)]ZZCQ9<;M2E7/>N85<G->OAXV1Y&(E=EJ-1Y=0$?/4BO@8H*
M]Z[=CFBKD$GWA79>%;+S)8VQWKC7YD'UKU'P5:;HXVQ6%:6AU01ZOHUL([2/
MCM6QBJEBNVW4>U7!S7BS=V>A36@HI:2D8\5!LAU)35.:?2&(156\3=;O]*M&
MH9N8F'M5(SDDSP_QA9_Z1(V*\ZE&R0U[-XNL\K(V*\>U!=DS?6O8P^R/,JK4
MK[LT4D7S"G]#7H(Y5N,:M#1KHQ7\0S_$*SI#@4ZP;;=HWH:YJZ-J?Q'U!X7N
M%?2XN>U;]>:^#M5W011[NU>CQG,8/M7A5(VD>Q!W0^BBBLRPHHHH **** "B
MBB@ K*UXXT^3Z5JUC^(CC3)#[4X[BEL>">)Y,S2?6N5CYS6[XBEW7,@]S7/H
MV*]O#K0\>L]1_P#'BGR#:N::OWLTZ8_+7:]CDZC%.170^$HO,U:,8[US"OAL
M5VG@J+.I1M[UR5W[K.NA\1[UI-H(K:,@=JU:KV0Q:1_2K%>%)W9["V"BBBD,
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ KD?'7_(*?Z5UU
M<AX[_P"04_TJZ?Q(B?PL^==1_P"/AOK440^6IM0YG;ZU7C..*^@I?">+5W)3
M3#Q3B>*9UK7H<ZW(G'&:[CX:'_B:K]:XE^E=O\-1_P 35?K7#BOA._#;GT1#
M_JE^E/ID/^J7Z4^O%/6"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ J"[_P"/=OI4]07?_'NWTIK<&>/^,?\
MEI7E,W^M;ZUZMXQZ25Y3,?WS?6O8PNQY6(W$ IQ'%"]*4]*]&+."9&.*,9YH
M;K3U^[6I"&>U.'%(!\U#&I8TA&&>:FM?]8/K48/RU):_ZT?6N6ML=-'<]M^&
M_P#J17IE>:?#<_N17I=>!5^(]JG\(4445F6%%%% !1110 4444 %%%% !111
M0 4444 %-D^X:=39/N&@#SCQC_J9?I7A5XO^G/\ 6O=O%_\ JI?I7AE]_P ?
MK_6O7PFQYN(W(P*7/&*%I/XJ].)YLMQP&#F@\FE/2D%:-B'$?)BHE3#5/VII
MQ6<G=%(M6 S=)]:]T\)K_H<?TKP[3O\ CZ3ZU[IX4_X\X_I7FXC8[*)VL?W1
M3Z8GW!3Z\EGIQV%H%)2TBD+129I:104AZ49IK-Q0*XF[FG=JA7[U2YIBN,*_
M-FG$X%(S@51N[Y8D/-4HMDN22*VJWPBB89[5XCXMU#S+F09KO?$6LKM8!J\?
MURY,URQSWKTL-2MJ<-:=S(SOE)]ZFVXJ&'[^35HXKTZ2LCSYL3^&HR.:DSVH
MQ70MC%B+TIIX.:?TIK_=J9[#B]1CG?Q1''\P%)%P>:L0X>=5'<UQ57U.J".T
M\$V^-1C..]>_6G%LGTKR'P;IC"6.3%>PP#$*CVKQJ[O(]>BK1)****YS8***
M* "BBB@ HHHH **** "F2'"DT^HK@X@8^U"$SB?&6H@:?*F>U?/MT^Z]D/\
MM&O6/&=Z<RIFO(YL_:&/O7K82%D>9B97T'$9-2**C4\5*IYKTEH><QDJX%$?
M2GR\BF)Q5K80K_=I;5<RCZTDGW:GTU/,F7ZUA5EH;4XGK7@JSW0(V*]3M5VP
M*/:N(\#VX%DI([5WB#"XKPZ\KR/7H*R%HH-+VK V"D;[M'>EH'?0X_Q/:[K6
M0X[5X+K$.R[DX[U](:]$&L)..U?/_B.'9<R''>O0PLM3@KQU.9[TH'-(.34@
MKV$]#S9[CUJ*6I*CDZU5B+D:)\V:F8[=M"XQ4<S=*YZL=#:G+4]C^'5^([55
MS7J]O)YD8:O O!5X8P@S7NFD/OLU/M7BXB-G<];#SYM#0HHHKF.H**** "BB
MB@ HHHH **** "N&^(7_ "#6^E=S7"_$/_D&M]*NG\2(J?"> 7?,S?6F#[M.
MNC^^;ZTQ>E>_1V/$K#&&*512OTI4Z5V+8YP/3%(!BC/-.[5,M$,CQ^\!KO?!
M<W^G1+[UPF0&%=?X+)_M./ZUYV(V.FA\2/HBSYMD^E0ZG&'LI!CM4ME_QZ1_
M04MVNZW8>U>+U/;Z'SOXNL]MY*V.]<?&?G(KU?QEIAQ*^VO*G0Q3-GUKV<-/
M0\O$PU',N>:8W(Q4RD%*@!^>N].YP=1H3;2$U*^*A--[#;'IUIY.&%-08H<\
MUA*-RHO4[GPE>[;F),]Z]ZTQMUE&?:OF7P[=&*_CR>]?0OA_4DFM(T!&<5Y.
M*C9GJX66AT-%(.E+7$=@4444K %<9XW7-JWTKLZY#QF/]%;Z5K2^-&=7X6>
M:ZN+@_6LU!QFM7Q",7)^M9:GY*]REL>+4W%/-/7@5&O6GYKL1SL3;SFAAD4X
M'BCM1,:(U&&KN_ 8_P")E']:X7^.N\\!G_B8Q_6O,Q6QZ&'>I[[;_P"H3Z5+
M45O_ *A/I4M>,>J%%%% !1110 4444 <CXRMQ+:,,=J\#\0VACG/'>OI#7;?
MSX",=J\4\7:<4F8X[UVX:5M#BQ$;ZG!1CM5@)L&:C_U<V#4\K IQ7LPF>9*)
M7D&XYIJCM4T8XYI"N#73'4AB#BD(S2L:%^[18@9[4]1BFC[U2$TF#8\?=J!A
MS4@:AAQFE82T&H<5'(A8T[O4BX[U+-4RN8C2!66K>5IC 'I6$E<UC(A$CJ>M
M7K:[8-]ZJ+BB$D-6,J=RU/4ZFUU,Q8^:NATS7MDJDO7G3S,.AJ:&\D4CFLG1
M-HU=3W2W\5KY:C?V]:NQ>)E?^/\ 6O#XM6E'\1K2M=9D!&7KG>'1M[=V/<[+
M6!.X&[K6^C;D!KQC1=?VS+N>O0K?Q'#Y2_,.GK7-5I<NQO2JJ2U.GHK$BUN.
M3HPJ]#?+(0 :PLS:Z+M%(#D9I:0PHHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@!#TKE_$>I"&VD3/8UT[_<->5>-[XQ2NN:UHQYI6,ZCLCR
MO7W\W49&]368BU:OI/,N&:H%KVJ4;'CUG=D9^]3]WRTCU&3BMI$01-##YDJ_
M6O:O ]CBS0XKR?1H?/E7CO7O'@^V"6"\=J\_$SLCMIQ.H@7;&!4XIJC%/KRY
M,[HH*1AQ2TM),NPQ13Z**;&-:F,,J14AIIH1$CB_%-IFSD;':O"M7@_?OQWK
MZ-\10A]/D&.U>#Z[;>5.Y([UZ>%GH<%>)S"#9Q3\=Z:Y^;BI,_)7IP=SBL5Y
M1FBW^65?K3CR:0?*X-15U*@[,]/\%7!-S&N:]LM^8%^E?/?@R]"7\8)[U[UI
M]R)8$P>U>+B(ZGJ8>5T7Z***Y3I"BBB@ HHHH **** "L7Q+_P @N3Z5M5B>
M)O\ D%2?2JCN3+8^<=?/^F2?4UBIS6OKYS>2?4UD1]*]W#K0\>KJR93S3G&1
M40^]4W:NF6B.9%81_O!]:[[P4N+Z+ZUQ"D>8*[WP8O\ IT9]ZY*_PG50^(]X
ML_\ CU3Z5/4%I_Q[)]*GKPWN>RM@HHHI %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 5R'CO_D%/]*Z^N1\=?\ (*?Z5=/XD1/X6?.U_P#Z
M]OK595[U:O\ _7M]:@3&VO?I;'BU=Q#R,4*,4G>GUM+8YV12=*[;X:G_ (FJ
M_6N'EZ5VOPS_ .0LOUKAQ7PG;AOB1]%P_P"J7Z4^F0_ZI?I3Z\4]@**** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "H+O\ X]V^E3U!=_\ 'NWTIK<3/'_&722O)Y/]<WUKUCQETDKRB4?O6^M>
MSAGH>97W$!IY^[2*.*=BO0B>?(C7FCH:?C%&.];=#/J!^[4=/!R<4C#%3+8M
M;C<\5+;G]X/K41Z5):<R@>]<E;8Z:*U/;OAK_J17IU>9_#<8A%>F5X%7XCV:
M?PA1116984444 %%%% !1110 4444 %%%% !1110 4V3[AIU-D^X: /.?&'^
MIE^E>%WO_'Z_UKW3QA_J9?I7AE[_ ,?K_6O6PNQYN(W(J?CBA1FG8KU(GG2&
MKUI&X-*1MHQNK1K0@7/RTQ6R:1CCBF@X-0U=#1H6)_TI/K7N?A)O]#C^E>':
M:,W"'WKVOPK(%MXQGM7GUXZ';2=K'?QGY!3LU7CE78.:D$B^M>.T>@I$N>*
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
MX^&I_P")JOUKAQ7PG=AMT?0T/^J7Z4^F0_ZI?I3Z\4]<**** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "H+O_CW
M;Z5/4%W_ ,>[?2FMP9X_XQZ25Y3-_KF^M>K>,NDE>3R']\WUKVL-L>57W)$Q
MBEJ,-3B>*]")P2&O[4Y?NTSK1G'%:D!GF@T'UI5YI/0744#Y:DMO]:/K41..
M*?;G]X/K7)6V.NCN>W_#?_4BO3*\Q^&I_<BO3J\"K\1[-/X0HHHK(T"BBB@
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
M>R?2IJAM?^/=/I4U>,SV%L%%%%( HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "N1\=?\@I_I775R'CO_D%/]*NG\2(G\+/GB_\ ]>WUJ!,;
M:FO_ /7O]:K*>U>_2V/%J[CN](U*>!FA?F%;LPZD3GY:[?X:'_B:K]:X>;CB
MNW^&G_(57ZUPXI>ZSNPRU/HJ'_5+]*?3(?\ 5+]*?7B'K!1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5!=_\
M>[?2IZ@N_P#CW;Z4UN#/'_&/(DKRF88E;ZUZMXP_Y:5Y5.?WK?6O9PNQY=<:
MJT\CBD0\4N:]&)Y\AH&*"O>E)HSQ6AGU&=>*4<4@ZT'FCH"W%(SS4EL,R#ZT
MS/RU):_ZT?6N2ML=='<]L^&PQ"*]-KS3X<?ZD5Z77S]7XCVJ?PA111698444
M4 %%%% !1110 4444 %%%% !1110 4V3[AIU-D^X: /./&'^JE^E>&7H_P!-
M?ZU[EXP_U4OTKPZ]_P"/U_K7K878\RON1@4N>U -)CG->G$\Z6X[IS1C=0QX
MH0X%;$A1BE-)FE8@0KFF'TJ8=*C(YII%Q8U1BE*YYI:<#Q2E$MR&8[4N,4N.
M<TC<UBT#=P(S2 <TX=* .<TTA!]VC&>:&YI5/%7RZ$W ]*:/EI]-/-0-!C/-
M+U&*!TH'6K0 .*=GC--/-!/RT]PL-+YXI1TJ$#YJE%)LNUQ-G.:4O@5(?NU5
MD-8SGH-1NR829&*T-%TXW5\HQG)JA:0F611ZFO3/"&A'SXY"E>?5G9'?1@=K
MX1T;[&J,5KO%&!56SMEB@0 8XJT*\N3NST(JPM%%(34E"T4@-+0 4444 %%%
M% !1110 4444 96L7GV6$G..*\*\<WGVNX)SGFO6_&LQBLV(..*\)UJ<R2MD
M]Z[L+"^IS5Y:&#NYQ4RBJ_\ RTJRIXKV(;'CU'J-;K3_ .&F-UIX.%KHB]#-
MD96F[>:ESDTG\6*YZI43<\.Q;[Q1[U[CX:M?+13CM7CGA.+=?IQWKWC1X@L*
M<=J\C$'H4%J:X'%!&12TM<1WI#47%/H%&:1?0*2EI*!,3%9FK0^; 1[5J=JJ
MW8!0U4-S.:T/"?&]KY<IXK@BF#7JGCV &0G%>7S?+)BO9P^QY=8CVT]1@4['
M%)7H=#C&,.<TJG-#'BHU.#4R&+(*T_#%QY.JH<]ZSFY%/TPF.^5O>N3$*Z.J
M@[,^EO#^H?:((USVKI!TKS;P/=&7:":])'05XE16E8]>F[JXM%%%9F@4444
M%%%% !1110 5POQ#.--;Z5W5<)\11G36^E73^)$3^$^?;OYIF^M1**GG&)6^
MM1 <U[U'8\:MN*.*=C=2'D4J\5V1.4,4#BEI#S4R"&XTKN<&NS\%\:E']:XY
M>#78>#?^0G']:X<1\)W4'[Q]"V7_ !ZQ_2K%5[+_ (](_I5BO#>Y[""D/2EH
MI <IXBL/.MY#CM7@_B#3C!=R-CO7TQ?0B2W88ZBO&?&ND^6DDFVNW#5-;''7
MI]3S".3DBE*;FS4* K*P]ZMJ>*]JF[H\R:U!N$IJ&E=N*8E:7,V2=33)U^2G
M _-3I>4K.6HD5[:3RI!]:],\(:E^]C3/>O+BIW9%=/X7O#%?Q@GO7%6AH=M"
M6I]+6+;K5#[59K$T2^$UI&,]JVZ\>2LSUHNZ"N;\3KFW/TKI*YSQ,V+<_2KH
M_&B*OPG@7BQ<79^M82?<K>\6MF[/UK!3[E>W3>AXU71C=O-+G'%.SBF'DUU1
MV.<4CO2 9I^?EQ2+Q5RV'$8.'Q7=^ U_XF4?UKA/^6@KO? 9_P")C']:\O$[
M'=AMSWZW_P!0GTJ6HK?_ %"?2I:\8]8**** "BBB@ HHHH **** "BBB@"*>
M,/$PQVK@==\/?:F<A>M>AGD5"]NC]5%7";B1*"D>!:MX5,&YMGZ5R%[IQB<\
M5]%:]I22QG:@KSC5/#;.[80UUTZW<Y*E'70\M"$'&*DW>6*ZFZ\-R198H:P[
MS3V'&#79"I<Y94[&<TNZDC;+4K6Y3J*C0;7KKC/0YVNA/)0J9%-=LT]) %JU
M,E1%\O/%)Y6VGHXW5(Q!IJ8$&W'-.#=J5CQ4*GYJJY+)::5YIW:D+4)DB[,T
M;,4J. :5W&:86&[,#-,SGBI2P*8J(*0:GFZ#' <4F.:?BF9H;"XI7(J,C!J9
M:8PYH2&@ P,TQY.:>Q^6JY!-93C<V@SH=#U$PS)SWKVSPSK FBC3=VKYVMY&
MCE4Y[UZ-X2UGRYT!:O.Q%.Z.^C,]Y0Y4&G5E:7J"W4:X.>*U:\QJS.Y.X444
M4AA1110 4444 %%%% !1110 5SWBQ]FER'VK?=MJDUPWC34U&G2)GM6E-7DB
M*CM$\.UVYWW$@SW-9,0S4E\YENGY[TD0VBO<I['BU=QQZ4Z,[:1NE,#5T7T,
MX+4;&GF7R_6O8_!UE@1MCM7DVG1[[^/ZU[WX5M-MK$V.U>?B):'=3.QMTVQB
MK(ID8^45)7DR=V=\%H+1114F@4444 %(:6D- F(*4FDI#UH8D]!W:HY!E34@
MZ4T]#30/4\O\;6GF.YQ7C=]!Y=VWUKZ \46OF*YQVKQ+6X-EX_'>O6PTM#S:
MZLS&?I2(>U$AQ4:'YA7H)W1PEAX\IFH8G\J0?6K6X>7BJ4H^;BL9HWA(]C\#
MZR$@1-U>LVDGFP*WJ*^;_"M\T=Q$F[O7T+HC[]/C/M7CXB-G<].A*Z-*BBBN
M8Z HHHH **** "L'Q6,Z1+]*WJPO%7_((E^E5#XD*6Q\RZN-NH2G_:-58_FJ
MYK7-_+_O&J<' KWJ.QXE;<EQQBE48-'>G5O+8PB5V&9U^M>E>"3_ *1$*\W_
M .6P^M>B^"_^/J*N2O\ "=5%^\>Z6O\ Q[I]*FJ&U_X]D^E35XCW/96P4444
M@"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *Y#QW_R"G^E=
M?7(^.O\ D%/]*NG\2(G\+/G74.)V^M5XQD5/J/\ Q\-]:BB/RU]!2^$\6KN*
MPXI!\M/)IAYK4P1#+SS7<?#3_D*K]:XEQQ7;_#4?\35?K7'B7[C.[#/WCZ(A
M_P!4OTI],A_U2_2GUX9ZP4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %07?\ Q[M]*GJ"[_X]V^E-;B9X_P",
MNDE>3R?ZYOK7K'C'I)7E,HQ,WUKVL-L>97W&CK3S]VA1Q2D<5WQ9Y\B-30>M
M!XIRC(K7H9KN-(XI5I<4T\4N@)@W6IK3_6#ZU'C(S4MF/WH^M<E;8ZZ)[9\-
M_P#4BO3*\V^'0Q"*])KP*OQ'LTOA"BBBLS0**** "BBB@ HHHH **** "BBB
M@ HHHH *;)]PTZFR?<- 'G'C#_4R_2O#+W_C]?ZU[EXP_P!5+]*\.OA_IK_6
MO7PBT/,Q&K(J?VI .*3/.*]*)YTMP[T4YA@9I%&16S=D+H':D'6COBG[:'L1
M8*4]*,4W/.*2&D)24YA0HJFRN@$?+35IY]* ,5DQ)C3UI3TI2*:.3BA#W!:0
M_>IY&*3%:$7U _=I%IU*!BH:*3&'K2GI2D4T')I#%6D:E/%.Q\N::8T1 <TI
MXI4^]3)C@UE*1K%#MW%-\LN>*1 S=*U]+L'FD&5/7TKDG4.B,"]X?TIY94.W
MO7NOAO24ALXV*\XKE?">@ QJQ2O2K2$00A0.E>97J7=CT*,+(G487%+117,;
MA3&I](10-"+3J0"EH!A1110(**** "BBB@ HHI"<#F@#AOB ^VQ;Z5X+J$FZ
M5OK7N/Q&F'V!L'M7@MPVZ5OK7IX1>Z<&*E;0A"U*@-"+FIBN!7J1/+;('ZTY
MC\E.(S4;'M6UB!(C\U!_UP'O0HQ2Q?-=*/>L:J-4COO!]L3=1MBO;].3;"OT
MKRWP=9_ZML5ZU:KMB7Z5XN)T=CT<,B<]:!2]Z6N,[4@IIZTZFXH!CNU)110
M57N!E#5FHY%RM.+LR9+0\J\;0;BQQ7CM\"EV1[U[OXOM]RMQ7A^LQ[+UOK7L
MX9Z'F55J1 _+25$&XJ1>17H1U..2(SUI,5(1S3@N:&A)C5^[S2P'9,#36^6F
M;L'-<]2-S:F[,]A^'4^^91FO7U^Z*\/^&,^;D GO7MZ,&48]*\3$JTSV*'PC
MJ***YS<**** "BBB@ HHHH *X;XA?\@UOI7<UPOQ#_Y!K?2KI_$B*GPGS_=_
MZYOK40^[4MUS*WUJ$>E>]0V/$K+45>M*W7BE/ I!S7;%'.V&>*5>M-[TX\"I
MD@B-8_,*['P6?^)G']:XS.6KKO!3?\32/ZUY^)^$[:'Q'T79?\>D?TJQ5:Q_
MX](_I5FO$>Y[*"BBBD C+N7%<+XZTY6TUR!SBN[K!\36_P!HL67&>*TINTD1
M45XGS'=6YAG;([U&&XKH_%=C]ED8@8YKET/%>Y1F>145F/8YI4XI!R:4\5TM
MG*]P_BI[GY:%&1FD?I2L,1%R*L:;,8;]3[U#'TI(SLF#5C5B;4V>\>#M0\X1
MKGM7HB_=%>)_#^_W72J6KVF)PZ#![5XN(5I'K4'>))7+>+"1;-]*ZFN8\5KF
MV;Z5G2^-&E3X3P#Q0W^EGZUCI]RM?Q7\MX?K63'_ *JO:IZGC55J,8TY.141
MZU-'TKKBCE$_BI6Z4I&*0<UI+8:(U^\*[KP'G^TX_K7#=)!7>^ U_P")C']:
M\K$[,[\.]3WZW_U"?2I:BM_]0GTJ6O'/6"BBB@ HHHH **** "BBB@ HHHH
M**** (9H%E&"*H2:1$YY45JT4[BL<?K6A1?96*J,X]*\ZN]#8NWR_I7MMW )
MHRN*PI-"5B3MK>G5Y3&I2YCPV^T.0,<)6-/I$T>3M->_3>&$D/W!6+J_A5$@
M)"?I75'$K8Y7AVM3PYK60=14#HZ&O0+K0RK'"?I7/WVELF<*?RK95C)TSGE<
M@U.DF:CEMI%<_*?RIH1UZ@UM&J9SIDK/34/-0DMNJ5>*WC(QE$GSQ4+9S2EJ
M>JY%7<SL1Y(HW&I2HJ,KS5)ZBL*A.ZK# 8XJ$+A<TY&W'%*VHV/'W:KM]^IW
M.*BQSFJ2,[BBG&FK3J2&B-J%7-/9>*(Z#5.Q!)\IJ_I%\\-R,&J$WWJ?!\C
MUR587.JG,]X\$ZIYJJ&:O18W#KD5X/X-U+RF4;J]HT>X\^W#9S7DUX<KN>E2
ME=&G1117,;!1110 4444 %%%% !1110!!=MMMG/M7BOC346+RQYKV34I EG)
MSVKY[\5W._4Y%SWKIPRNSFQ#LCCU!:=B?6GL,'BI)$V'--'S#->W3CH>54>H
MC?<J%<YJ;J<4UDP15RT0H;FOH=N7OHSCO7T-X>MPFGQ\=J\5\*V>^:-L=Z]X
MTB/98H/:O(Q4M3OHQN:"=*=WIHI]<#.R.PM%%%(T"BBB@ IIIU)B@3$I*=1B
MABL':FFG=J2F@9A:S )('X[5X;XEMBEY(<=Z^@-0CW0/]*\;\6VFV21L5VT)
M'GUUJ>:3]:8E23#]ZP]Z8!@UZT'='#(DW'%,(W4]AA,TD/S$TY+0J++VBSF/
M4HAG^*OI3PU<*^EQ#/:OF"T;R]2C/O7O_A"^WVL29[5Y>*A<]##SMH=[12(<
MJ#2UYQW!1110 4444 %8/BO_ ) \OTK>K"\5?\@B7Z54/B0I;'S-JO.H2_[Q
MJH.*O:NN+^7_ 'C51!D5[U'8\6O\0X=*6BFL<"NA['*MQO68?6O1/!9_TJ/Z
MUY['RX-=WX,?_3XQ[UQXA>Z==#XCWRU_X]D^E35!9_\ 'JGTJ>O$>Y[2V"BB
MBD 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !7(>._^04_T
MKKZY'QU_R"G^E73^)$3^%GSM?_Z]OK55:MW_ /KV^M5T'%>_3>AXM7<5NE(G
MO3C33\M;&"&25W'PU_Y"B_6N&<\5V_PT/_$U7ZUPXKX6=N&^(^B(O]4OTI],
MA_U2_2GUXIZX4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
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
M]/4Y[5\V0R%95P>]>W>!=5"62(6KR\5'0]2A(]-HJ.%_,C#>M25YIUA1110
M4444 %%%% !2'I2TC?=- '(>)M4^SQ2)GM7@^M7/G:D[9ZFO4?'EP4E<9KQN
M[DW73'/>O2PL-+GGUY7=AT[96HD; I7.13%KU8*R/.EJQ_3FI(U\QP*:?NU=
MTR#S)5^M9U7H731Z/X-L,QHV*]:LEV6ZCVKB?!MIMM%.*[J(84"O'Q$KL]&D
MK(F%.IHI:Y3I0M HHH*N+1112*"BBB@ HHHH *::=3331,BO<C=$WTKS#Q?:
M_NI&Q7J4@RA%<3XLM-UG(<=JZ:#LSCK*Z/ [A-L[?6H]M:&I0^7.W'>J*]*]
M>DSS9$;G(Q3X%Q2%>:?'Q6\EH$-Q$7%VK>]>M^"KS,D:9KR(R 2BN\\&7NR\
M3FN#$1T.VEN>_1',2_2GU0T^Y$T*\]JOUX[5F>DG=!1112&%%%% !6'XH_Y!
M,OTK<K$\3#.E2?2JCN*6Q\UZPO\ ITO^]6>K8K6UM,7LA]ZQ\9->Y1?NGC5E
MJ2YXJ)CFG]L4PBNHY5N.1L-7:>#'SJ48]ZXE1SFNL\%R?\3:,>]<F(^$[,/\
M1]&V7_'K']*L56L?^/2/Z"K->&]SV$%%%%( HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "N1\=?\@I_I775R'CO_D%/]*NG\2(G\+/G>_\
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
M>HM@HHHI#"BBB@ HHHH *AGE$:'/I4U8FNW/D0$YQQ3BKNPF[(\M^(-XIN6
M->4S-NG)KK?&U^9;MN>]<@OS<U[.&A9'DUY:DO44HXH04US@UWQ.6]V39XK>
M\/0^;*..]<YG(XKL_!MN9)AD=ZYZW8VIH]B\+0!+->.U=*HQ61H<?EVX%; K
MQ*GQ,]&&P^EIHI:R-T%%(:!0%QPI:;2T#N+12"EI%!12&C- KA244AIB;&M6
M!XB@#V+\=JWC6=JD?F6S"M:>YRU'H?/GB.V\F5SCO7.1M7>^.;3R58@5YVC$
M&O9I;'F21;;&VHPV*3<<5&Q-=?02>I#*Q\S-=/X7NBEVO-<PRYYK2T.4QW:_
M6N6LCIA*Q]&>&;DS1KSVKJJX'P3/YB+S7?5XE;XSTZ3O$****R- HHHH *Q_
M$8SIDGTK8K(\0C.FR?2JCN*6Q\Z^(5Q=2?4U@H170^)5(N)#[US*-7MT=CQZ
MQ+WI6Z<4VE7FNWH<C'+PM;W@Q_\ B=QCWKGW.!6UX,;&N1D^M<6(^$ZL/N?3
MEA_QY1_[HJS5/37#6<>#_"*N5X;W/96P4444AA1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %<CXZ_Y!3_2NNKD/'?\ R"G^E73^)$3^%GSK
MJ7_'PWUJ*+[M37_,[?6JR''%?04OA/%JO4E-,;VIS=*1.:T1@B)Q\M=O\-!_
MQ-5^M<5(*[CX:C_B:+]:X\3\+.W#/WCZ&A_U2_2GTR+_ %2_2GUXAZX4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %07?_'NWTJ>H+O\ X]V^E- SQ[QCTDKRF4?O6^M>L>,A@2&O)Y3^];ZU
M[&%V/*K[BJM*>E(K<4ZO01P2&@8HVT9S2YK5&?40BF]*<:8>:0(=C(S4MK_K
M!]:C!PN*DMO]:/K7+6V.NCN>V_#?_4BO3*\S^&_^I%>F5X-7XCV:7PA11161
MH%%%% !1110 4444 %%%% !1110 4444 %-D^X:=39/N&@#SCQA_JI/I7A]\
MO^F/]:]O\7_ZN3Z5XA?-_IC_ %KUL)L>7B-R$"ESVI <48YS7IQ//EN#"I(U
MR*:>1BG*VRNCH0P8<XIN,4XMDYIK-4R>@06I&W+5<2V+ITJ&&+S)!]:[+2]&
M,\2_+UKAJ2L=<(G(-9E>U*MH2,XKT1O"K,N?+_2A?"C!?]7^E<3KZFOL6>>&
M ],4Y+4GM7?'PFV[[GZ5*GA1A_RS_2CVR*5%H\\>U([5&("3C%>COX58C_5_
MI4(\)ONSY?Z5:K(IT6>=RQF/M35&1FN@\3Z8; <KBN=B?*5TT:G,<U2'*QW7
MB@#%-!^:GYKNCL<LT%(12TA-4T9@HP*C;EJE4YI/+YS6,S6(^W?RG!KU[P%J
M&(5&:\=?BNX\&W_DE%SWKSZ\;G;0=G<]_M9/,B!J>LS19?-LU;VK3KQY:,]>
M.P4445(PHHHH **** "BBB@ HHHH **** "BBB@!DIVQD^U>:^,=6Q#+%N[5
MZ1<_ZA_I7AWC6<K=2#-;T(WD95G:)YU=C-V[>IIF-U-EDW2M]:ECZ5[]*/NG
MBU/B&YQQ36-#]:9G-;HR:)8QQ3FY%-4X%.S5HS>A$5Q3U/%#'--!P*B>Q=Q"
M<FD84O?-*>:RY;E<PS82,T@!SBI@<#%-QSFI<!\PG*TN"PI&.:<IXI*F.XT*
M<TN=M.]Z8YR:GD!38UE+<TU4.:E4\4H&*2@5S#E8H.M1LNYLTIYIPZ8K>$;(
MS;&A:0C!J7I4;<FM49AM^6FJ.:?GC% X-+<8X<4;><TF:7-"0KZD<GWA7IG@
M?5_L\:1[J\SDKHO#DY2YC&>]>=B87.[#2:/I+3IO.ME;U%7*R/#S;M-C/M6O
M7B2W/86P4444AA1110 4444 %<-\0O\ D&M]*[FN&^(7_(-;Z5=/XD14^%GS
M_=\S-]:A'I4UU_K6^M5UZU]!0V/$JC\8YHZTIY%)TKKB<S$[XH(P*.^:<>14
MR'$J/]ZNO\$'_B:Q?6N1E&&KJ_!'_(6B^M<&(^%G90^)'TG8_P#'G']!5FJU
MA_QYQ_059KPWN>RM@HHHI#"BBB@!&&5(KAO%.C^?%(^WM7=5GZK"KV3C':KA
M*S)DKH^8]8L?(NI..]9BC-=SXLLO+ED;'>N&4X8BO;H2NCR*\;,#P:=UIK'F
MA3BNZ)R,F5>*@*_O*L(V14;#YLT2)B]1[?<IL$OE7*'WH9_EJL>90?>L)QT.
MN#L>Y^#=7S;Q1[JZ[6VWV>?45XWX2U QSQKNKU2[NQ-8J,_PUY;I6JIH[8U+
MP:9XWXP_X^S]:YL+\E=/XO7_ $HGWKE/-XVUZU,X);B]33MM(E2&NA'.WJ,"
MT$9%+GFC.!43!;D71Z[SP&O_ !,H_K7!9_>"N^\!-_Q,8_K7F8G9G?AMSWZW
M_P!0GTJ6HK?_ %"?2I:\8]8**** "BBB@ HHHH **** "BBB@ HHHH ****
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
M_6_^H3Z5+45O_J$^E2UXQZX4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !4,\"RJ0PJ:B@#SSQ/I"N'*
MK7CNM:>T-PQQWKZ2U&R$\3$CM7D?B[2?+$C!:[Z%7H<6(I]3RS/S8I>:)%*S
M,/>G@<5ZM&6AYE2-AG-2(*:!S4H&*ZT8L#3:4GFANE)ZBW&-3K/B[4^]-7FG
MV_%ROUKBK+0ZJ+U/9/!<F6C%>JQ_ZL?2O(/!$F9HQFO7H_\ 5K]*\2LK2/7H
MN\1]%%%8FP4444 %%%% %#57V6C'VKQ;QA>E@XS7L.OOLT]S[5\_^*[K=(XS
MWKLPRN<N(E9',R'>^:=_#BHX#N!-/CYDQ7LTM$>5/<85(IZC(J:X0!<U IXK
M5F5R>V8)+FNRT;4?*QS7"JY#UH07IC'!K"I&Z-(RL>BMK6#]ZFG6^/O5P#ZH
MV>IIHU-O4USND;1F=Z=;(_BH&MG/WJX!]3;U- U-MO6B5+0U]H>AMKGR_>I$
MUS'\5>>#5'+=30VJ..YK/V0_:'H1UP[OO4\ZYQ]ZO/%U-L=333JC^IH]C<:J
M'HBZ[_M4IUS_ &J\Y_M5QW-._M1L=33='0B=0]!?7#C[U(FN$?Q5Y]_:C'N:
M:=4<'J:/9:$JI<]#_MP[OO4K:YD?>KSW^TVQU-(NIN3U-)TBE4N>AC7/E^]4
M']MG?]ZN#;5'!ZFD_M)L9R:J%.PI3.LU?4A/'C.:Y&Z(+&D-^TG!-1,^XUV4
MU8YIR*[9H&:E(I M;F-QG-))G;4N!39A\G%936AI!ZFYX:O3;RK@XYKW_P *
M3F>P5B<\5\SZ?,8IU^M?0W@.Y#:8F3VKQ<3'J>KAF=K12 Y%+7$=H4444 %4
M=34O:L!Z5>J*9/,7%-;B>QX9XSM60.2*\XV_,:]M^(=B([-F [5XR4PS9KUL
M++F1YN(A9D.>*: 6IC$^9BK,2C%>DF><U9E=OE%2::2+Q3[T3K19?+< ^]85
M5H:TWJ>W^ WW,M>G#H*\H^'TH:11FO5QT%>'75I'LT7[HM%%%8FP4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !7(>._^04_TKKZY'QU_P @
MI_I5T_B1$_A9\[7_ /KV^M55JQJ/_'PWUJ*(?+7T%+X3Q:JU%;I2)TYIQIIX
MK0P1#-7<?#3_ )"J_6N(<9%=O\-/^0JOUKDQ/P,[\,]3Z)A_U2_2GTR'_5+]
M*?7AGJA1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 5!=_\>[?2IZ@N_\ CW;Z4(&>/>,NDE>4RG,S?6O5O&72
M2O*)!B9OK7LX78\O$;@&I^:8%I]=Z//D!IA-/--VULC,3I3EYI".*0<4/8$#
M5+:?ZP?6HB,\U-:_ZP5R5MCKI;GMWPX_U(KTNO,_AO\ ZD5Z97@UOB/9I?"%
M%%%9&@4444 %%%% !1110 4444 %%%% !1110 4V3[AIU-D^X: /./%_^JE^
ME>'7S9O'^M>X^,/]5)]*\-OE_P!,?ZUZV%V/,Q&Y&#BI >*BQ3L\8KTXGGR$
M)S3=VTTXBF%<FMA*Q: RF:KR'!J=6PF*JS5E/8J&YI:._P#ID?\ O"OI+PIS
MI$?TKYKT49O(_P#>%?2GA/\ Y!$?TKQ<8SU\-L;U+117GG6%%%% !1110!SG
MB+3!>1,<9XKP'Q9:?9-09,8YKZ<N%#0MGTKP'Q_:?\3)V [UUX634CFQ"]TX
M5>!06IN[YMM(_%>S3EH>3*(XR<8I(S\V:C'-2H*V3,6K#WY%5_\ EIBK!.*C
M"?/FJ=PB.D7:F:JHV)5/O5R?E,53"_-FL)QNC6FSTOP9J.)XH\]Z]TLG#6J'
MVKYG\+W)AOX^>]?0&A7XGMXUSVKQL3%W/6P\U:QT%%%%<9U!1110 4444 %%
M%% !1110 4444 %(>E+2'H: ."\9W'EJPSVKPG6I-]ZQ]Z]A^(,^QF&:\7OC
MON":]+#+1'F8IZD<?-//RTV,8I9*]F&QY]R(M\U.ZTT#YJD(P*L&-S3L\4@&
M:<1Q18RD(#FD)YH'%+C-4%M1,<9H4T[MBFXQ68VA2>:7H,TW&3FESD8H&M@'
MS4$X.*!Q1C)S0,.@S0.:<1Q31\M( )YQ2]!FDQDYI<Y&*:0#<YHW<8HQBC;5
M@&<4\'(IF,TN<5+!@3SBC[M '.:<1D4EN(3.:3- &*,<YJF);B,,"H[9ME\C
M>AJ1C4*#$ZGWKEJJZ-Z;LSWGP9JNZWBCSVKTF,YC!KPSP/='[3&N:]QMCF!?
MI7A5XVD>U1E>)+1116!L%%%% !1110 5POQ#&=-;Z5W5<-\0O^0:WTJZ?Q(B
MI\)\_7(Q,WUJ(=,U-=_ZYOK4(Z8KZ"@]#Q*VXH.>*7.VD'!S0>:ZD<[%SQ3&
M.:7VII&*4A1W$'6NM\%C_B;1_6N449-=;X,_Y"T?UK@Q#]T[J'Q'T58_\>D?
MTJS5:Q_X](_I5FO#>Y[*"BBBD 4444 %%%% &;JUI]J@*XSQ7BOC;2OLKDA:
M][8 BO,/B#:>9D@5TX>;4K'/7BG&YXE*VW(J*$Y>K.H1>7,15:%<-7N4I'D3
MB3R)FH\XXJ9SQ46,G-=+U,6-(IR=*4CB@# J&),3?@UT&@7_ ),G6N<89-6+
M60PG.:'#0M2-CQ!=_:)<YK# J:XF\XYS40J%H2V-DZ4^(?+05W4H^48K5$L8
M3\V*0\4N/FS0PXHD-$0/SUWO@)O^)E']:X(#YQ7>> E_XF4?UKR\3LSOPVY]
M V_^H3Z5+45O_J$^E2UXQZX4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 V1=R$5POC#3@UE(V.
MU=Y6#XGB#Z<XQVJX2LR*D;H^:=1@\JX?CO59/NUN^(8/+F<X[U@(W%>UAY71
MX]9"C[U/8X%1?Q4\_,*]&.QRL9NIP.:;MIRKBF2+TI83^]!I&I(SAQ7+56AT
MT3T_P)+F\05[9%_JE^E>$^ 6_P!/3ZU[M#_JE^E>#7^(]>A\(^BBBL#<****
M "D-+3)3M0GTH$S#\4R!-*D.>U?..N3^;=2#/<U[7XOU8?9)(MW:O#+T;[ES
MZFO1PD3AQ,BG$=HQ3D/[S-(1@T]5KUXH\R3)9GW+4 I[CBH^]:;HE;"D<9I5
M-.ZK4?2LY($(QYH[4N,T =JA1+3&-S29[5(5Q3-O-5RH:DPQCFC[U.QQ0HQ4
M\A?-H-!QQ0PIVWFE(XJU!!S$8&:6G 8H(YJ7$F3(SQ0.:<1FA1BCD)3L@[48
MQ3L4N,T. U*PPC--SVJ0C%1@?-4J(^;0<O%.W4[;Q3=M:(S>I(IS2L<4P#%#
M'-6B6@WTB'>V*8:D@7#YI26A4=&2"/RY%/O7L/@?4=EK&F:\AF/(KMO"-YLE
MC7/>O+Q$+G?0G9GOEL^^%3[5-5+3&W62'VJ[7E/<]-;!1112&%)BEHH X3X@
MQ[[$_2O![U?*E8>]?07C9-UFWTKP/6TV7!^M>CA'9'#B=S,VY.:EC;%(O^KJ
M/.#7KQ>AY<D2N-U0AO+;-3J<K5:XZ5%38J!ZK\,;KS+D GO7M:D%17SM\.;S
M[-=#)[U[WIMR+B('/:O$Q$?>N>O0?NV-&BBBN4Z0HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "N0\=_\@I_I77UR'CO_D%/]*NG\2(G\+/G
M;4.9V^M5T.!BK-__ *]_K5917OTGH>+5W'D\4@^:E(XI%^6MC!#)!@5V_P -
M1_Q-5^M<1(<BNW^&I_XFJ_6N+$_"SMPWQ'T/#_JE^E/ID7^J7Z4^O$/7"BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
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
M W+J#7F$ZAIRWO7?1CH<%:=F,"\4QQ\M3#&*C>O0AL<;EJ5%!WU/&S"10#2
M &K%M%YDZ8]:QJLWIR/3/!MK,_EOSBO9K$%;9 ?2N*\#::O]G1L1SBN\1=J@
M5Y-1W9Z--:#J***S- HHHH **** "BBB@ HHHH **** "N1\=?\ (*?Z5UU<
MEXX_Y!;_ $JZ?Q(BI\+/G6_'[]OK5515[4?]>WUJFO2OH*2]T\.KN*>12IQU
MI%ZTK\5LT9HCDKN/AJ?^)HOUKAG/RUVWPT_Y"J_6N'%?"=F&^(^B8O\ 5+]*
M?3(?]4OTI]>(>N%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !4%U_Q[M]*GJ"[_X]V^E-;B>QY'XR^Y)7D4W^
MN;ZUZWXR.5DKR6<8F;ZUZ^&V/(Q"LQJFIA4:+D5)7HP..2!CFH\\T\BFX[UH
M9K<".,T+S2YSQ1TIE"$XXI]O_K!]:B:GVIS*![URU]CIHK4]O^&IS"/I7IU>
M9?#9<0CZ5Z;7S]7XCVJ?PA1116984444 %%%% !1110 4444 %%%% !1110
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
MBO)Q,'>YZF'EH=111VHKC.H**** "BBB@ HHHH **** "BBB@ HHHH ****
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
MOH_PI_R"8_I7B8S<]3#;&]1117 =84444 %%%% !1110 4R09C;Z4^D89!H
M\L\9Z=O65]O:O%KB/R[UQCO7TEXFL?,LY#CM7S]KMO\ 9[N0X[UWX>9PUH%$
MTW'-10R;ZDW<U[%)W1Y,U9CB.*:!2D\4+S739&;U CC-+"<FFN>U-C;::F2*
M0^X6ETVX-M=!P<8-#'<*KD;6S7+5B=-&=CW+P-K1NF5&:O3T8%1BOGSP'?\
MDW Y[U[GI5S]HA!SVKQ,1"TCUJ,KHTJ***YC<**** "BBB@!#4<I_=-]*DJ.
M?B%OI3)/(O&T^'D7->/S<W;'WKTWQU<8NI!FO,C\UP3[U[.%6B/.Q#U)0.*6
MD)Q0#7I(\R;U$<<4(.*<W(IH.*NXKB]Z<W I ,G-.89%9S9I$; -TR_6O5?!
MML1)&V*\OLTS=H/>O=O"&G8M(I,=J\G%2L>CAXW.\MAB!1[5)BDC&U *=7E,
M](**** "BBB@ HHHH **** "BBB@ HHHH 0]#7G'C:$N6.*](/2N7\1:?Y\3
MMCM6E-VD3-71\ZZG%MO&X[U4<?+6UXBA\G477'>L24X6O>H/0\:NK2$0XXJ1
MA\N:KJ:F+97%=L3GN-C;+4K_ 'J8O!J3&>:JQ+W)%/%-89-1EL4BR<USU5=%
MTWJ=IX7N?+GC7/>O>]&;=81GVKYNT"XQ?Q#/>OHSP^V[3(C[5XF+5CU\,[HU
MJ***X3K"BBB@ KAOB#_R#6^E=S7#_$'_ )!K?2M*7QHBI\)\_P!X,S-]:@6I
MKPXF;ZU"GK7T5!>Z>-6W'[:0BG9XII-=21Q/<9CYJD/ J//-/SFG(M"]5K>\
M&_\ (;C^M<ZS[>*Z/P6,ZQ&?>O/Q/PL[,/N?2FG_ /'E'_NBK-5K#_CSC^@J
MS7S[W/:04444@"BBB@ HHHH **** "BBB@".<;H6'M7D'C+2\R22;:]B894B
MN,\56&^SD;':M:4K,QK1NCYZG7;.R^AI!P*MZM%Y-W)QWJBC9%>S1D>355F*
MP[TP<TXG)Q3<8KOB<K'4TBG TQC3ZD(<G-#<&FJ<4IYIEV%QQFE'--![4[I2
MEL$1.CUW?@,?\3&/ZUP8/SUW7@-O^)DGUKRL5LST</N?0%O_ *A/I4M16_\
MJ$^E2UXQZH4444 %<)\1 3IK?2N[KD/&\'G6##':JAN3/X3YKOHR9VSZTZ%<
M+BM36+,Q3-QWK/08KVL/L>753%;@4^)=PIK]*1'VUW11Q,F)P,57E6G[\FEQ
MNK16)>A$B\4C4]OE.*0CC-2P3&5/!+Y;AO2JK'%.5LBN:<;FT96.LL?%,D*A
M-YXKKM%\2M,XR_ZUY(%(;-;>DWQA<<URSHK<ZXUG8^C-&OEF@!+#\ZV!*I[B
MO'M&\2^4BKO_ %KK+77Q(!\U>=.D[G;"HK'<!@>E+63IMZ)^]:NX>M8-69LG
M="T4F11D4ABT4F11D4 +129%&10 M%)D>M1S2!(F.>@H #,BG!(KE/%NJK:V
MQ*OV]:S-6\2?9[IDW=#ZUPOBOQ&;B @-^M=%*FVS"I425C'UK7&GD;YLUR\S
M^8Y--><S,3FF5Z]""1Y=6>H;:>O%)2]Z[DM#G)*>JYIH'%&[;2($<[6Q2$<9
MJ&1\O3]_RU$WH:1W%1<N/K7IW@ZQW"-L=Z\VM5WRK]:]O\$6&;-&Q7E8F=CT
ML/$] L%VVJ#VJU4<*[8P*DKRV>@%%%% !6!XIF5=*EY[5N2';&3[5YQXRUC;
M;RQ;NU:4XWD14E9'BVM7&^^D&>YK.CY-27C>;>.?4TU1BOH*4=#Q:KU+BK\E
M03' J1'XQ4<PW"MFM#&*U&P#>XKT#P99$7L;[>]<%9+FZ1?4U[AX/TC]Q%+M
M[5YF)FDCOH0UN>BV@Q;(/:IZ9$NV-1Z"GUY#/4"BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ K/U&T$\39':M"F2#,;?2FG9B:N>!
M^-;+RKQL"N EX<BO6O'5OF=VQ7D=P<7++[U[6%EH>7B(ZDD=-(^>D#;13ASS
M7HWT.*P^5,1YJ33Y=DR_6HV?<N*C1O+E'UKEJ*Y=-V9[EX.O_P#1HUS7H\#;
MH@:\5\'7G,:YKV:Q.ZU0^U>-B8V9ZV'E=%FBBBN8Z0HHHH KWD GA*$=:\F\
M=Z0+>%G"U[#7$^.;7S[5ACM6U&34C.K&Z/GN5,.<^M,[5>UF+[-.1C'-9^[*
M9KVZ4CS*JL30CFDF;!Q444F#0[;FK<Y7N(%W&K,-R;1@0<5'&*29-U85(W-J
M<CU#PCKI(12]>OZ?.LMLISU%?,VB:@;6X1<]Z]O\,ZMYT,:[NU>5B*>MSTJ,
MSMZ*:ARH-.KC.D**** "BBB@ HHHH **** "BBB@ HHHH *J7TZQ6[DGH*LL
MP"FN&\4ZU]F#INJX1YF3)V1QGB_6R3)&'_6O,97\^1B>>:UM=U SSN<]36%$
M_P U>Q0A8\JM/4G6/:,4NT*<T[.1FH6DYQ7<D<M]2<-NIG64**B$FVKNFP_:
M+Q!CJ:YJ\K(Z*2N=EX+TTR7B$K7N&FV@@B7 [5QOA+1?)2.3;VKT%!A0*\:M
M.[/3I0LAU%%%8&P4444 %%%% !1110 4444 %%%% !1110 5R7CD9TI_I76U
MR7CHXTI_I5T_B1%3X6?.^HC$[?6JRCY:LZ@<SM]:J@X%>]2^$\6IN*O)Q1(,
M4@.#2L<UT=#(B;I7<?#7_D*K]:X9SVKNOAJ/^)HOUK@Q7PG5AU[R/H>'_5+]
M*?3(?]4OTI]>*>P%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !4%W_P >[?2IZ@N_^/=OI36XGL>0^-#E)17D
M<@Q,WUKUKQCTDKR>?_6M]:]C#K0\JON.3I2MR*:AXI]>A%V.![C ,4F.:?1Q
MBM+D]1"<C%,QBG#K0U,H;4MMS(*B/2I;3_6CZURUWH=%+<]N^&P_<BO3:\T^
M''^I%>EUX%;XCVJ?PA1116184444 %%%% !1110 4444 %%%% !1110 4V3[
MAIU-D^X: /-_&'^JE^E>&WO_ !^O]:]R\8?ZN7Z5X=??\?K_ %KV,+JCRZZU
M(\9%-(YQ4J8Q3#]ZO2BC@D"C%./-(W2A356T("D84[O2/6,W8W3U-'1QF\C^
MHKZ/\*?\@F/Z5\Y:-_Q]Q_45]'>%?^03']*\;%O4]/"F[1117$=@4444 %%%
M% !1110 4444 9VL1![%QCM7@?C#3RKR,!WKZ$O4WV[#VKR?QEIW[IVQ710>
MIA61X[ A0G-2'[U37$7E2$>]18XS7N4#R:L=1"<BG*<"F#K03S78<UM!6&>:
M;BI.JTT#!K-L:0Y!Q3)%XS4@H?E:SEJBH.S-CPU<&&X'/>O?/"4_FVBG/:OG
M+3I?)F!]Z]S\"ZBOV-03VKR<7#0]/#3NST*BF1N'7(I]>:>@%%%% !1VHHI
M)6=J=V(86Y[5HUR'BN[,,;<]JUIQYI6(D^5'D/C2[\V_?GO7&(O[S-;/B*<R
MWS'/>LE*]J@K(\NN[CG&::..*F[5"?O5WK8X9(=32*?VI*+D6U!:<W%,!^:B
M5N!6=3:YM!&II%OYMW&<=Q7T5X5A":5'QVKPGPO$'EC)]17O_A]=NGH/:O#Q
M<KL];#+0UJ***XCL"BBB@ HHHH **** "BBB@ HHHH **** "JE_&&M),CM5
MNH+L9MG^E-;B>Q\Z^,;?;JDC8[UR3C<<5Z%XTM_]*E;'>O/XQ^^(/K7MX>6B
M/'K_ !$0C*TX+4\@':F 5Z"9QO<:5IPX%+3&-:IBW(9.32(IIV,FI%&*PGL7
M$MZ3)Y>HQ_[U?1?A>]#Z?$N>U?-MHVV\0^]>V>#KXLD:9[5Y&+C<]3"R/30<
MBEIL9R@-.KS#O"BBB@ KAOB#_P @UOI7<UPWQ"_Y!K?2KI_$B*GPGS]>C,S?
M6HT'RU-=C]\WUIJCY:^BH/W3QJVXE-(IYI*ZUH<=M2'O3UXI,?-3CTJ9,I$4
MBY.:Z7P4<:Q&/>N>XQS6WX/DV:U&?>N'$_"=5!^\?35A_P ><?\ NBK-9VEW
M"R6D8'H*T:\![GMK8****0PHHHH **** "BBB@ HHHH *R->A$FGR#':M>JF
MH1^9;,/:G'<3V/G;Q-8%)I&QWKED0K7JWB[3<*[!:\UGC\IB#7L4)'DXB-F4
MROS4K#(IQ(S17I0=SA9%TH*]Z&ZT_P#AK0FQ%3A2 <TO>F4A0.:<PI1TI:B0
M+<B ^:NY\!C_ (F:?6N'_CKO/ 8_XF*?6O,Q>QZ&'W/?;?\ U"?2I:BM_P#4
M)]*EKQ3U0HHHH *QM>MOM%N5QGBMFHY8A(N#33LQ-7/!O$^C%78[:X.X7R9"
MM>^^)]*616(6O$]?L7BNFX[UZN'J:''6@9)?-)MS42Y#8-6DQBO3C+0\QQU(
MPO-3+Q2'%(6%-,SDADO+4N/EI"<FG TT[D(KLF:?'&<5*14J@;:7*5<KMTQ1
M$Q0T/PU-'/2LY1-8LT[:]9&'S&NFL-:*A<O^M<-EE-2QW3J>M<TJ1T0JGLNC
M>)EBQE_UKHD\4HW\8KP2/5)8^C5HV^N2CJQKEEAKLZ8U[(]SC\1(W\8JTFM*
MW\5>,VNMOD9:MJWUT@<M^M9O#C^L'J']KK_>H75U)^]7FYU\8^]^M$>OC=][
M]:AT"O;GI#ZPJ_Q5"^N*H^]7GD^O>C?K6?/KQVGYOUH5 ?MST:7Q,B?QBJ-U
MXK0PL-XZ>M>57FN2'.&_6LF369B<;C6D<-<S>(-G7M3::\9PW?UKEM0G>9<9
M-2S7)D&2>:J*=YYKLA1L<LZMR"%2O6IMM*RX/%28^6NN$3GE*Y&!FEQ@TJ\&
ME/)K825Q_1:B;FGL?EIB\U"9+1"R'-(3@59*C%0-&6.!655ET]6;.A6IN)5X
MSS7T#X.MA#IZ@CM7D'@?3C(X)%>YZ+!Y-L!7BXF5V>OAU9&K1117(=04444
M0W1Q;N?:O"/&]Z?MDB;J]MU.Z6*V<$]J^=O&=P9-5DP>]=6&7O'-B'H<L1F4
MFI=N13<=ZF3&VO>I;'E3U9 IP^*EDX6HC_K:=.WRBJF]"8QU+FE0>9>QG'\0
MKZ0\)PJNDQ<=J\$\,6WFS1MCN*^A?#J;--C'M7B8QGK8=6-BBBBN Z@HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *1N5-+10!Y[X
MNTTRQR/CM7@^I0&+4''O7U#KMJLEA*2.U?.?B.WV:C*<=Z]'"5-;'!BHV,)N
M<5,@^2HEZU./NU[$7='G2(0<-3BNY@136ZU-"1CFHFA1W.M\*77EW<29[U]
M:6VZQC/M7S1H5QY>J1\\9KZ'T&_26RB4'G%>/C(ZGJX5Z&[10.E%<)V!1110
M 5B:]:_:(&&,\5MU%/$)$(/I51=G<35T?-_C6P,-V>.]<B.FVO7_ ![I!DG9
ME6O)IX3#<E3V->K1J71P5H:D00CFE YJQ@;:B/#5WP=SSI*S)!PM+O%-)^2H
M>:<D"=@5RMTK ]Z]*\+:UY)C!;I7F8'S9K4LKQX&!SBN&M"YUTJA]*:/J8O$
M&#FMNO)/!.OJ,!V_6O1X-6BEP >OO7E3@TSTH3NC4HIJ-N7(IU9F@4444 %%
M%% !1110 4444 %132>6F:CFNEBZFL;5-8C2!OF_6J2;);LAFI:XMLC9:O(O
M%VM?:)VVO5WQ/KI(8*WZUYY=W;W$A)-=U&E;4XZM70KW#&1R:9%&33\9'-30
MX%>G35D<%1W$/RC%0%#G-32?>H)&VM'*R,XJY6;[P%=;X6T\R7<3X[US<%NT
MT@P.]>J^#M*(2-BM>=7F=U")ZIHT"QV$8QVK3JM9)LME7VJS7E/<]);!1112
M&%%%% !1110 4444 %%%% !1110 4444 %<AX[_Y!3_2NOKD?'7_ ""G^E73
M^)$3^%GSO??Z]_K52K=__KW^M55Z5]!1V/&J;V "EQBA>M.:MI&*W('%=W\-
M?^0HOUKAVZ5W'PV_Y"J_6N#%/W3MH?$CZ&A_U2_2GTR'_5+]*?7BGJA1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 5!=?\>[?2IZ@N_\ CW;Z4UN)['D/C0822O(Y#F9OK7K?C,Y605Y-*,3-
M]:]?#['E5UJ(*>3\M.5,KFHSUQ7H1.*0J'-(3S3@,4$=ZL@#]W-(O-'7BCI0
MQC6J6T_U@^M1-5BR&91]:Y:^QTT5J>V?#?\ U(^E>F5YM\.EQ"*])KPJOQ'L
M4_A"BBBLS0**** "BBB@ HHHH **** "BBB@ HHHH *;)]PTZFR?ZLT ><>,
M/]5+]*\-OO\ C]?ZU[AXO;Y)![5XEJ*XNG/O7K878\ZNB &DI8QN%'\>*]2+
M/.DA#F@&IFC^7-,VUH]B$':F@Y-&><4'BN>>Q47J:>DG%Y'_ +PKZ.\*?\@F
M/Z5\W:2?],C_ -X5](>%/^01%]*\;%JQZV%9OT445Q':%%%% !1110 4444
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
M:X719V*JF>A*P8<4M9VF70G@#9K0W+ZUBU9FJ8M%)N'K1N'K2&+12;AZTUW
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
M @HHHH&%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!6-X@B\VS8>U;-5+R'SHRM5%V=R9;'SYXMM#$['%<7G#8KU7X@V7DY(%>6R)
MALU[.&E='F5HV9*N,4$9J 2=JF4YKM;.*VH'[N*M:6WDW (]:IN:?;28D'UK
MFJJYI#1GO?@*X,L(Y[5W]>9?#>4&$9/:O3 <UXM;XSV:/P"T445D:A1110 4
M444 9FJ:>MY$01GBO&?%^BF&Y;:E>\,,@BN/\1:*+K<^VM:4^5F=2-T?/-Q"
MT;$$54+8KL_$.E&W9\+TKBV4[R"*]6E4/.JT]10<T].34!.#4T1YKMC(XY*S
M$G6I(5&RGNNX5$'VMMJV2[M#BG- 05(W"9J-6K*8XRL*1@4U'P:1FI@ZU"A<
MOF+@F(%127)I$Y%12+S4^S+4F.CG+-2R.<TR)/FI\B\T^0')C%Y-3%!BH5X-
M.>3 K2,;$.0,OI30,'-31#>*5X\"M4]#)O48/FIK<4BM@TC-FLISL:15Q<U;
MM+9YV&%S5.!2\F,5Z'X2T/[4PRM<=:I[IUTH7+'AO1"2A9*];TG3UA@0X[5G
M:9H8MPOR]*ZB%-D8%>74G<]"G"P\#BEHHK(U"BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH *Y#QY_P @E_I77UR'CO\ Y!3_ $JX?$B)_"SYYNSB
M=_K5<<G-37O^O?ZU5W5[E!GAUEJ6D.>*9-Q4:OBG$[JZY;&*6I W2NX^&G_(
M57ZUP[]<5WGPV7_B9K]:\[%?"=F'?O(^A(?]4OTI],B_U2_2GUXQ[(4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %07G_ ![M]*GJO>?\>[_2F@9XYXS;B6O*S_KF^M>I>,P?WM>5LV)F^M>K
MAW9'G5EJ2%,TTBI58%:C8\UWQF<DH"*<4O7FHR>:>&XJG/0QY=1W7B@<4P'F
ME9JGGN/E&2#)S4MF<2CZU$3Q3[4_O1]:Y:LKG911[G\-S^Y%>F5YC\-?]2/I
M7IU>15^(]*'PA1116984444 %%%% !1110 4444 %%%% !1110 4U_N&G4V3
M[AH \Y\9-_H\OTKP>X/_ !,9/K7N?C(_NI?I7A=T#]O<^]>GACS:VY,_S4*V
M!BFAL#FHR?FKT$SAFB1QQ48ZU)G(IAX-:\R2$HD^_P#=XJ).&I >**QE/0UC
M#4M639U"+_>%?2?@_P#Y T7TKYIT_P#X_P"+_>%?2W@__D#1?2O)Q,KGIT%H
M=%1117&=(4444 %%%% !1110 4444 %(:6B@".1<QL/:O-/&6DEXI9-O:O3^
MU8'B6U6339..<5I3E9F<XW1\P74!CO'&.]"OM&*V=<L_*NY#CO6 Y^:O8I3T
M/,G E;GFB,;S3-WRU+:GYN:[(R,' '3::<C8I;AAFH _.*<Y:$J)),V10GW:
MC<T]&^6L'+0.6S%MG\N?->L^ ]1^=06KR!FPV179^#+\PS#)[UYF(=SNH:'T
M1:R^;&#FK%8N@7'GVRG.>*VJX#T5L%1RMLC)J2JM^VVU<^U"&SS[QY?![%TS
M7@UVI>9C[UZGXRO2PD7->8O\SFO0PZLS@KNY#$N!BK"C'-,'!J1F&VO4@SSW
M'4:YS310#FCI6O/H+E G% .14;MFA&P*B4]"HQ',=QQ7I'PQ@Q? X[UYK#\\
MX%>M_#B';<J<5YV(E>+.V@K,]F0 (/I3Z1?NCZ4M>4>@%%%% PHHHH ****
M"BBB@ HHHH **** "BBB@ HHHH *\T^)\8-B?I7I=>>?$>/?9'Z5I2?OHSJ_
M">!D['(]Z<SX7-%Y&4E/UJ!CE,5[,)GE3@2QOO.*D:JEOE6YJPSY-=$9F#I@
M!@YIYY%,+#;0C<U3EH"BQCKS43+MYJ=B":9+RM<\I&\$>D?#:^\EP":]OL9_
M.B#9KYO\(7)MY1SWKW[PW-YUFISVKR<0O>N>E1>EC=HHHKF-Q*X7XB'_ (EC
M?2NZ[UPOQ$_Y!C?2M*?Q(B6Q\^W(S*WUJ,=*FN.)6^M5\\U[5&6AYE178^BC
M/%)FMXS.9Q%[4F*,T9JG/07*0R#FNC\(3>7JD9]ZYU^:V?#"DZD@'K7GUY'7
M1CJ?2FC78EMHQGL*V:Y?PY&ZPIG/2NH'2O)EN>HM@HHHI#"BBB@ HHHH ***
M* "BBB@ HHHH **** ,3Q)")--D&.U?/?B2Q*3R''>OI#58_-M67VKQKQ;IA
M0.VVNK#RL<N(C<\XMW\M"IJ&09?=3KI3%)CWI <I7J4YZ' X# :D5<U'T-3(
M>*U4S*4+,#P*86S3W/%0]*4I$*+N ;YP*[[P%_R$8_K7GHR9!7HG@(?\3"/Z
MUQ8AZ'=0W/?K?_4)]*EJ*W_U"?2I:\H],**** "BBB@ HHHH **** *5_ )8
M&&*\^UGP\9]V$_2O364,,&JTEG&X.5%:0FXD3@I'SCKWA]H)3\M<Q-"8LC%>
M\^*-$65V*K7F>J^'I%+$*?RKNI5CAJ4M3BDZU($)-7CIKQL<@U&\?EG!KNA,
MXY1U #"TPMBE+8%5W;-:\XE"Y-C<<T[MBF1M\M*#S1&5V)Q% Q2%<FG$T;A6
MMS*VI'LJ11BE&*4U=]!6T(F'.:$ZTYNE,7K1S!8D8U&1WISBFD_+BLW+4+ #
MNXH8[*;$<-2S?,>*GF->49OYJ5'S58@BGQ'FI<@<"5Q4>_;4V-U.BLVG?:HZ
MUE.I8JG'4@'[TXK:TO33*Z\5:T_PU,2"5/Y5VNB: 4=,K7+4K(ZX4F7-"\/$
M*C[/TKT+2K(0 <5+I=@D=LOR]JTUC"]!7G3J-G="FD. P*6BBLC4**** "BB
MB@""ZE\J%F]*\C^(&JB:U>/=7J&MOY>GR-[5\]^*K]I9Y$W=ZZ</%-W,JKLC
ME(EW.Q]Z<?O8H@.,T'_69KTX,\V<;CU7'-*7I68;:JN_S8K5S,E#4T=-7?=J
M/>O:O!-OL9#BO(/#\!EO4X[U[OX8L_*C0X[5YF)E=G?1CJ=B/NBEI!TI:X3M
M$%+110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !32*=10!YC\1+;S%/%>*7P\J4K7T/XMLC<1L<=J\!\20&#4"OO7I866
MEC@KK4RL=ZEC:F_P4U6Q7I<VAPN),PS3%.QLU(#\M0RGTK*330X+4]2\!:L(
M%5=U>RZ?<?:( V:^9_#EXT,R#..:^A?"TIETU&)[5Y->.MSUJ.UC?HHHKF-@
MHHHH **** "H+F(/$PQVJ>D(R* /./$&@?:=^$Z^U>7:YH+6)8E<5](R6D<G
M517GWC;1!-&=B5TTJK3,*M.ZN>!S*5>G1G%=+>^&Y5+-M/Y5A3VK0,0>U>G3
MJ)GFU*8;^*A*Y?-("<U)D;:Z>>YA:P\ME,5%TH#?-2MS4N5V3RAMS05Q3E..
M*5NE5$!BOMI^-W-0-G-3QGY:MH=] 'RTC'-+(>*8O-(:8%>,U$PS4[$;<5"#
MS0.*)X#M&*ED;*55W8I^_<,5G*=A<FI7=L&I;=3*P'K5JVTM[L_*#70:9X:E
M$R$J>OI7'4JG33IDNC>'FF96V]:]:\*:/]DP2N*@\.Z,L<:;DKM[>V2)1M&*
MX:M2^AWTH6)@@ Z4ZBBN8Z HHHH **** "BBB@ HHHH **** "BBB@ HHHH
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
M;QW,?'>OHOP7G^R8\^E>.Q:04N4.WO7M'A2+RM-0>U<59W/0IJR.AHHHKG-
MHHHH **** "BBB@ JA?6"70PPJ_10!R&I>'(OLKD*,X]*\@U_1G2XDVIWKZ)
MN(_,B*^M<?J'AM;B1CLZ^U=-*KR[F%6ES;'S[)8RQDY4U79&!Z5ZIX@\-BWS
MA/TKB;O32I/RUV0K71Q3I69SN"*D0C'-3SVS+GBJ3[T[5K&1E*F*[X>I-V15
M3YB<U,F371"1#@28HW8-(<BF-G%.4R>0E+9IZ=*K1DDU,V0*AU-2E C=_FQ2
M<GI32CENE7;2V:1L8I.IH:Q@5TA=N@JY;:=,[CY36]IVDF211MZUZ'I7A%7@
M5S'^E<=2M8VC1N8W@S0?.D'F+7I4/AR%,$*/RHT71A9,"%Q72=JX:E1MG73I
MV6I3M[)80 !TJX.!1165S:P4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %<CXZ!.E/CTKKJYSQ9#YVGLN.U..XI;'S7J$+FX;CO4$
M<+XZ5V-_I)\YOE[U'%HY(^[7?3G8X7"[.2>W?'2FI"_I78R:.<?=J$:01_#6
M[J70O9G)R1/CI7:_#2-EU9<CO5=]')7[M=/X%TXP:B#M[URU)715.-I'M4/^
MJ7Z4^F1_ZM?I3ZXCN"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH HZE;B: KBN2DT++D[:[IE##!J+[.
MG]T549-$RC<X@:%_LTY="Y^[7:_9T]!1]G3T%7[1BY$<;_8G^S1_8G'W:[/R
M$]*/(3TI>T8O9HXK^P^?NTO]B?[-=IY">@H\A/04U5=A>R1Q9T3C[M+#HFU\
M[:[/R$]!0($'84>T8U!(HZ9;>0O2M.FJH7I3JS;N6E8****0PHHHH **** "
MBBB@ HHHH **** "BBB@ HHHH K7D0D@9<=JX^XT3?,QV]Z[@C(Q49MT)Z"J
MC*Q+C<XI-#Q_#2G1./NUVGV=/04>0GH*OVC)]FCA_P"PN?NTX:'Q]VNU^SIZ
M"C[.GH*'5;#V:L<1_87/W:=_8?\ LUVOV=/[HH^SIZ"CVC$Z2.2MM'V.#MKJ
MK./RX0*D$"#M4@&!4-W+C&PM%%%24%%%% !1110 4444 %%%% !1110 4444
M 9.L6@N(L8S7-C0^?NUW#(&'(J/[.GH*I2L2XW.,;1,C[M)'H>#]VNU\A/2D
M^SIZ5?M&3[-'#SZ%N;.VG)H6!]VNV^SH?X11]G3T%/VK!4TCC/[$_P!FF'0N
M?NUV_D)Z"D^SI_=%+VC%[-'%'0_E^[3%T'#9VUW'V=/04?9T_NBI<VRE!(I:
M1;?9X0N*TZ:JA1Q3J@L*BN%WQ$>M2TA&10!QU_H_FNQVU130,?PUW9A5NHI/
MLZ?W15J;1+B<4-#Y^[2MH>1]VNT^SIZ"C[.G]T57M6)P1Q2:'@?=I#H7S?=K
MMOLZ>@H^SI_=%'M&+V:.,&B?[-*=$_V:[/R$]!1Y">E#J,2IHY&RT;R[A6VU
MUT*!(P/:@0*#G%2]*S;N:)6"BBBD,**** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ I& (I:* .0US2/M,^[;WJG%H>$ VUV[PJYR13?LZ?W16BFT0
MX)G'KHO^S44FAY;[M=MY">E)]G3T%'M&+V:.,&B<?=IR:+C^&NR\A/04>0GH
M*:JL3I)G'-HO/W::VB9'W:[/R$]*/(3T%#JMC4$CB!H>&!VUU>E6_P!G@"XJ
MW]G3T%2*H4<5FW<M(=1112&%9FK6WVB$KC-:=-90PYII@<*VA98_+2#0N?NU
MV_V=/04?9T_NBK]HR'!,XE]"R/NTB:%@?=KM_LZ?W11]G3^Z*/:,GV2.(_L+
MYONTYM#R/NUVOV=/04?9T_NBG[1A[-'%+H?R_=J:PT;RKH/M[UU_V=/[HI1
M@.0!2=1LI02'1+MC4>U/HHK,L**** "BBB@ HHHH **** "BBB@ HHHH ***
M* "D8 BEHH YC6-,%Q+G;64="X^[7<-$K=13?LZ>@JE*Q$H)G$IH6#]VA]"R
M?NUVWV=/[HH^SI_=%6JC%[-'#?V#_L_I2_V#_LUW'V=/[HH^SI_=%'M&'LT<
M.-!PV=M;.FZ;Y#@XK?\ LZ?W13UB5>@J92N-00Y1A12T45!84444 %%%% !1
M110 4444 %%%% !1110 FT>E0W$*O"PQVJ>@C(H X'4]!\Z9CMZUA3^%2W\'
MZ5ZJUNC'D"F?8XC_  BM%4:,W33/'9O!Q;^#]*R;SPBUNI?9^E>[_88?[HK*
MUG2XWMB%0=*UA6=S.5)6/ 9='.<;:JR:41QMKU&30LL?DJE-X?)/W/TKL596
M.7V;/,?[-*MTIWV GM7H,GAQO[GZ4Q?#C?W#5*LDB729P!LB.U(+ GM7>MX<
M;/W#2KX<;^X:IUD+V3.'CTLM_#5E-'/]VN\M_#Q Y2KJ:#@_<K)U44J3.+L/
M#AN&QLK:7P6V0?+_ $KN]#T=8Y1N2NL73X<#Y!7-.LT]#II4E;4\MM?"A0#Y
M/TK<L= \MA\M=R+*(?PBGBV0=%%9.JV:^R11TRT$,>,5I!0.U"J%Z4ZLF[FB
M5D%%%%(84444 %%%% !1110 4444 5[R/S(&7U%<=<Z)OF9MO4UW!&149@0G
MH*J,K$N-SB4T/'\-2?V+_LUV/V=/[HI?(3TJO:,GD1Q;:'G^&J_]@?OE.WO7
M>>0GH*3[,G]T4.;&H(K:9;""V5<5?I%4*,"EK,L**** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@!&&5(KE
M-3TKS[G=MKK*C:%6.2*:=A-7.-?1<IC;4*Z%C^&NW\A/04GV=/05:J-$.FF<
M7_8?/W:5M#R/NUVGD)Z"CR$]!1[1B5-(X/\ L#]X#M[UV.E0>1;*N.E6OLR?
MW14JJ%&!4N5S1*PM%%%2,**** "BBB@ HHHH **** "FE >U.HH YS7=-%R.
M%KCKGPP7)^3]*]1>-7ZBHC:1G^$5I&;1G*"9X]-X/+9^3]*P-3\*-%_!^E>_
M&QB/\(K UG28Y,X05O3K.^IG.DK'@4FB%&QMJ,:65_AKU&ZT#+\)5-_#QQ]R
MNN-5&'LSSEM//I49T\GC%>AGPZW]P_E3!X<;=]PTI541*F[G!PZ6<_=J]%HQ
ME8#;7;IX>(_@K2LM"VNN4[UBZHU39RMIX.:6,-L_2M2T\'%&^Y^E>HZ;IL2V
MR@H*OBQA'\ K!UV=4:2L>?V'ASRG4[.E=YI]LL5NJXZ"IQ:QCHHJ90%&!64I
MN1K&-@"@=*6BBH*"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH *S]4M_/@*XK0I&4,.: //;GP_O<G;21^'\#[E=\;9#_"*3
M[,G]T5HIM$<B.#;P_D?<_2HO^$=_V*]"^S)_=%)]FC_NBG[5AR(X#_A'OE^Y
M6EHFC_9;C=MQ76_9H_[HIR0(AR!4N=P4%<D4844M%%06%%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 5'-$)%P:DHH SCIJ$]*8=*C/85J457,Q<J,DZ/$?X12?V/%Z"
MM>BCF8N5&/\ V-%_=%+_ &-%Z"M>BCF8<J,M=)C'84\:9&.PK1HHYF/E15AM
M%B.0*M444F[C2L%%%%( HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "H)H!)UJ>BFG8#.;348]!3#I,?H*U**?,Q
M61D_V1%Z"C^QXO05K44<S#E1EC28_05(FFHIZ5H44KL.5#(T"+@4^BBD,***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBD9@JY- "T52:_C5L;J/
M[0C]: +M%4OM\?\ >I1?QG^*@"Y153[;&.]'VZ/UH MT52_M"/UH_M"/^]0!
M=HJJEZCG -60<C- "T444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 44R1PBY-4FU.)3@L* -"BH+>Y6<94YJ>@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBJMQ>
M) ?F- %JBJ45_')T:KBG(S0 M%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 444A.!F@!:*K/=HAP32Q7*2G - %BBBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HI&.T9-0+=(S[<T 6**.U% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !15:
M:[2+.34$&IQ32;589H T**!R** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ JEJ$ZQ6SG/05<8X4FN)\3:MY,<B
M9[4 85WX@*7;+OZ&F?\ "1?[?ZUYWJ&J-]K<Y[U FK,3UH ]/'B [?O_ *TZ
M'Q!E^7_6O.UU)O*SFJ$NN&$YW4 >M2:^/[_ZTTZ]\F=_ZUY(GB4R'[_ZUHIK
M!:+K0!WY\0G=]_\ 6C_A(3_?_6O.?[48MUI3J3>IH ]7TG6_.N57=U->@6[;
MH5/M7@?AG4B^IQKGO7O%@<VD9]J +-%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 9NLS>19.^>@KRK4/$K)<,H?O7I?BAMNE2'VKP.[D,M^
MXS_%0![5X.U WML&)S775P?P^7;9CZ5WE !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 !Z5Y[XUU@V,
M@ ;%>@GH:\<^*$A68?6@#2T'76N'0%NM>EVC;[=3[5X7X1D)ECY[U[AI_P#Q
MZ)]* +=%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 5',=L3'VJ2H+LXMG/M0!Q&K:QY-PR[NE6_#VJ&YGQNS7G_B>_*:C(N>
M];'@.Z,MV,GO0!ZT.@I:1?NBEH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH KWK^7;,WH*X^SU</JACW=ZZ?6G\O3
M96]%KQ.SUO;XE9-W\7K0![S$X:,$&I*Q=&O/M$2\]JVJ "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "F&10<9I7.$)KD;W6_)U(1;N] '7@YI:KV<GFVZMZBK% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !37.$)IU,E_P!6
MWTH X;Q/JK6L<A#8P*Y7PCXD:\UDQ%\_-5_QR2()OH:\_P#AU(3XE(S_ !4
M?2D1S&I]J?4<'^I7Z5)0 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 -?E#7GOB;39+B1\ \UZ(>15*>QCF.2* /
MKSPM,\C'8:KQ^$Y@?N&O>FT.!C]T?E31H, _A'Y4 >*KX7F\K&PURWB309K2
M!GP17TM_8D&,;1^5<!\1])BATUBJCI0!X!IUM+)*!SUKT#3?#LTUJ#M/2L;0
M+-7NAQ_%7O/AK1H7T]"5'2@#RE?"LV[[AJ0^%IO[AKV[^PH/[H_*E_L.#^Z*
M /)/#WAR6#4D<J>#7M=DNRU1?052AT>&)PP45J*NU0!0 M%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 8/BH9TF3Z5X%*-FHN3_ 'J]_P#$
M_P#R"Y/I7@E\/].?']Z@#UWP"P-F/I7=5P/P]S]C&?2N^H **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@!#T->-_%%"9A]:]E/2O(?B6!YOXT <]X0&)H_K7NFG?\>:?2O#_  J/W\?U
MKW#3O^/-/I0!;HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "H;I=UNX]JFI&&X8H \9\0Z!)<:@[A3R:V/!>CO9W(9E(YKO9
MM*BE<L5J2VT^.W;*B@"ZOW12T44 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 9/B+_D$3?[IKYJMW;_A+I.3]^OI7
MQ%_R")O]TU\VVZ?\5;)_OT >]>%"3"F?2NNKDO"H_<I]*ZV@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@".<XA;Z5XKK^HF/Q.J;OXJ]IN?\ CW?Z5\Z>*+AE\:(,
M_P = 'OVAOOTV)O5:TJQ_#9SH\)_V16Q0 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4R3_5FGTV3[AH \M\<QDV\WT->>?#N,KXF;_?K
MTSQKC[+-]#7G?P_Q_P )*V/[] 'T7!_J5^E25'#_ *E?I4E !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !7GGQ-_Y!;?2O0Z\_P#B4,Z8WTH \C\,Q@W/XU] >&ABP3Z5X%X<.VZ_
M&O??#1S8)]* -RBBB@ HHHH *0G%&0*K7<XCB)S0!/YB^M.!!KF?[5'F8W=Z
MV;*Y$J9S0!>HI-P/>EH **** "BBB@ HHS3'<!2<T !D4'DTH<'H:YR^U013
M%=U3Z?J(F<#=0!O44T.N.M+D>M "T444 87BC_D%2?2O![CYK]\_WJ]Y\3C.
MER?2O!;OY+Y_]Z@#UWP"H%F/I7<UP?P_?=9CZ5W>X>M  6 ZTWS5]:S]1NQ"
MO6L9-7!E W=Z .K!S2U6M9A)$#FK&0: %HHHH ***3(H 6BDW#UHR*  G IH
MD4G&:ANYA' S9[5AV6J"6[*;N] '2T4Q74J.:=N'K0 M%%% !1110 4444 %
M%)N'K44TJK&3F@!_F+G&:?7.QZF#>;-W>MY)%* YH DHI-P]:6@ HHHH 0]#
M7D'Q-;$H^M>OGH:\>^)_^M_&@#%\)G,\?UKW'3O^/1/I7A7A-O\ 2(Q[U[KI
MO_'FGTH MT444 %%%)D"@ )Q3?-7UJ&ZF$<1.:YV;5PKD;N] '5!@W2EK+TR
M[$\><UI[AZT +129I: "BBB@ HHHH *"<4A(%0W$JI$3F@"3S5'>E5PW2N5G
MU<)*1N[UJ:7?"?O0!L44FX>M+0 44F0*6@ HHHH **3(HR#0 M%%% !1110
M4UF"]:7<!WK)U2]$ ^]0!J>8OK3P<URUOJP>0#=716\H>,'- $]%("#2T %%
M%% !112;AZT +3=XSC-(\BA2<UAOJ(%WLW=Z -^BHHI5:,'-2;AZT +1110
M4444 %%%% !1110!E>(?^03-_NFOG* ?\57)_OU]&^(?^03-_NFOG"!O^*LD
M_P!^@#WCPM_JE^E=97)^%O\ 4K]*ZR@ HHI"0* %HI,T%@.] "%P.M()5)ZU
MDZE?"$]:S[?5@\X7=0!U-%10RJT8.:D!!Z4 +1110 4444 %%%)D4 +32P7K
M1O7UK+U*]$/>@#5# ]*6L_3[H31YS5_>OK0 M%)D&EH **** "BBD+ =Z $+
M@=:02*>]9.HWPA/6J=MJ@>4#=0!TM%112*R YJ3</6@!:*** "BBB@ HI"0*
M-P]: %HHI"0* %HIN]?6ER#WH 6BBDR* %HI-P]:6@ I"P'6C</6L_4;H0Q9
MS0!>\U?6G YKE8]7!?&[O706<XDB!S0!;HI,@TM !1110 4444 %%(2!4<L@
M6,G- #C(H[TJN&Z&N:N]4$<A&ZK>EWXG;[U &Y13=Z^M+D&@!:*** "BBB@
MHI-P]:6@ HHS2;AZT +12;U]:7- !112;AZT +2$X'-)O7UJK?7"Q0ELT 6@
MX/0TZL+3=0$TQ&[O6V'&.M #J*3(I: "BBD)Q0!!>2*EN^3VKYM\4N#XU0@_
MQU[?XGU06D+#=CBOGK5[SS_%"29_BH ^E?##@Z/ ,_PBMNN*\(WX:PA3/\(K
MLE=2.M #Z*3>OK2T %%%% !11G%)N7UH 6BF[U]:-Z^M #J*3</6EH ****
M"BBB@ HHI-P]: $9PO6D$JGO63JE\(/XJS+?5P\H&[O0!U@.:9)_JS3()0\0
M.>M/D(,;?2@#R_QS(1;S?0UYW\.W)\3-_O5Z#XX&89OI7!?#R/'B0G_:H ^C
MX/\ 4K]*DJ.'_4K]*DH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
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
M0Y /Y4 >HVWC= JKYGZUV.A:LNH1[@V:^:)1?6KY8G&:]1^'^OB*$+*_/UH
M]CHJC:WZ7" J>M70<B@!:*** $/2L74M5%J3EL8J[?7J6J$L:\N\5^( 9&"-
M^M &]<>,4B<CS/UKG]6\7+-TD_6O.;FZNKF<[&/)IOV&^DY.Z@#TW3/&:0QX
M,GZUMVOC%)6 \S]:\1>SOXN1NJ2SO[FVF&]CQ0!])Z7J0O!PV:V*\F\&^(EX
M#O\ K7J%I=+<QAE- %FBBD)P,T 1SR>7&6]*YC4?$*VV[+XQ5O6]7CMX'4MS
MBO'?$&MO-(ZQMWH Z+5O%2ROQ)^M4K;Q&(W#EZX$+=7#YR:MM9W0@R,T >I0
M>.(]H7S/UK8LO%23L!OZUX !?1R')/6MO2M6FMID$C'K0!])64XGA# ]:LUQ
MOAC78YK6-"PR1ZUV"-N4$=Z '4444 8VLZF+%<EL50L=>6X( ;-<_P#$:\:W
M@RIQ7+>&-1DD*DMWH ]L@D\R,-63K.J"Q7);%16^K)!9J6/:N \:^(%F0B)O
MUH VW\:(LNWS._K6[I6O+>,H#9S7SN;J[FO!M8XS7J?@Q+CS(R^: /6@WR9K
M!U'6%MG(+8Q6T.+?\*\L\7WCQ7#X- '9:=KRW5QL#9K;N+D1QYSVKQCPKJ[_
M -J89N,UWFLZXD<&-W;UH -1\5):R%2^,>]<WJGC%)HRHD_6N%U_49[BZ;RV
M/-8BPWLK<DT =U#XB^?._P#6NHTOQ>@VQ^9^M>3K972J3S56&ZNK:\&6. :
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
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "O//B<N[2V^E>AUY_\2B!IC9]* /(_# V7
M/_ J^@/#1S8)]*\ \/<W7']ZO?O#/_(/3Z4 ;M%%(QP,T 8'BY]FD2GVKYUN
M5:\U%UZ_-7O'C2^4:5*F><5XGH<7VG5WSS\U 'IO@+3!';+E>U>DPH$0#%<[
MX6M!#;#CM72$4 /4TX@&HUJ6@#GO%%HLVGN,=J^>_$UF;2Y+ 8YKZ7U*+S8"
MN*\,^(MAY39 [T =1\-]1VV"*6KU6%]\8:O!/ MV851,]Z]STU]]HA]J (=3
MNA#"W/:OG?QI=F?6R@/4U[5XLO?L\3<XXKP35";OQ"IZY:@#N/ >E8NHY"O6
MO;88E6)>.U<-X/TX1VL3[>PKOEX44  &*6BB@!DB!E.17*ZOI0FW87K76U$\
M"OU% '%:!I!M;S=MQS7<KPHJ&.V2-L@5/0!C^(CC39/I7S9XU^>5Q[U](^)?
M^09)]*^<O$\9EN6'^U0!O_#;2O/B5MM>\Z9;+#;*,=!7FWPJLE6Q&1VKU95"
MC H =1110!0U&W$L!&*\/^(NG^4<@=Z]]90PP:\F^)UJ#'D"@#EO!$ICV+GO
M7N^EG=9H?:OGWPQ)Y-S&OO7OVBMNT^,^U %]_N&O*?'4>8YC[&O5G^X:\P\<
M8\B;Z&@#P6SMS/K;+C^*OH#X?:>(8ERM>+^&[;SO$C#'\5?1WANS%O O&.*
M.C" #@4ZBB@!" :P_$T"OI<@QVK=K,UM=]@X]J /FW4X3;:@[#CYJ];^&DYE
MM1D]J\W\6P>5,[ =Z[SX5,3:T >K50U&Y\B)CGM5^N8\57/D6S'..* /'/B#
M>F?4, ]347@_2C)>QR%>]9OB*0W6J+W^:O2?!>F@0Q/M[4 >B:9:K';IQVK3
M"@5' @6)1[5+0 4UD!'2G44 <?XETT36\A"]J\&U?3VLM1>3&,&OIR_@62V<
M$=J\1\=Z>(HY'48H WOAC>^><9SBO71TKP+X5WGDW!#'O7NUO,)D!% $QZ&O
M(OB8<2_C7KIZ&O'OB<?WH^M &-X5.9X_K7N&G?\ 'HGTKPWPE_KH_K7N6G?\
M>B?2@"RYVH37!^,=6"64L>[M7<W!Q Q]J\4\;WK>=*F: .(TZ(WVK..OS5[C
MX,TX6]NN5[5Y'X'M#-JN6&<M7ONDVXAA7 [4 :80#H*=BBB@!I%4-0MUE@9<
M5H&HF7=P: /"_B#I?EJ6"US_ (4OC:SI&3CFO4?B#8"6V.!VKQ>,M::M&O3Y
MJ /IS09?-TZ-O45J,<*37,^$KL/I4(SSBNDD/[IC[4 <5XKUD06\L6[M7BEM
M&;S7F/7+5V/CZ^=+YXPW4U@>$[0S:HKD9R: /6O".GB&-25[5VH0 <"LK2+<
M10K@=JU^U #6'%(%IV<TM %.^@62!ACM7C7Q T?_ $=V"U[@PW#%</XXL%EL
M6^7M0!\QV\)M]04'^]7U'\/3G0X_I7SEJUK]GU1>,?-7T7\.O^0%%]* .TJO
M>_\ 'J_TJQ5>]_X]7^E '@_BK_D)R?6MWX?-F\'UK!\6?\A*3ZUM_#P'[:/K
M0![*OW1]*ANI?*B+5,OW1]*S=:?99L?:@#R?XEZ@98BH:N,\+Z>;FX1R,\UJ
M>-9FF<C/>MGP#IX>)6(H ]5\/VJQ6$8QVK;"@55L(Q';J/:K= !BHI8PRGBI
M:0\T >6>/M*\Y20M>8Z;<&RUF.+./FKWKQ+:+-"V1VKY]U5#;^*DQP ] 'TM
MH#[]+B;U6K]Q_J&^E<[X5OE?2X4SSM%=%/S WTH \-\;/_I\@]ZC\ Q@ZH"1
MWJ?QM WVV1NV:SO!5\D&IC)'!H ^@(%"Q+CTJ6LFSU-)8UP1TK3C?>N: '$
M]::8D/:GT4 -"*.@IU%% !1110 4444 %%%% &3XB_Y!$W^Z:^;;?_D;9/\
M?KZ2\1?\@B;_ '37S=;_ /(VR?[] 'O?A;_4K]*ZRN3\+?ZE?I764 (>AKY]
M^-/,X'O7T$>AKP+XQQE[I1[T <AX&L2]W"V.]?36CPJFGQC'\->)?#[2B8XI
M-O>O=[!-EJB^@H L  4M%% #74,IS7C_ ,1+$/,S!:]A/2N#\8V'GQNV.QH
M\:\,RF+Q!''G^*OI;3#FPB/^R*^8=/S;^+E7T?\ K7TKHMP)+"(?[(H U:YS
MQA/Y&DR-GM70LVU<UP7C_4!_9$J \XH \4O93J=\R Y^:O:/AU8"#3U#+VKQ
MSPC:M>:L^X9^:OH7PW:?9K51C'% &\$4=!3J** "F&-3U%/HH XCQ7HPNW!5
M<\UL>&;/['9!,8K8FMDE^\,T^*)8EPHQ0 \]*\G^)-[Y#8S7J-U.(8R37A?Q
M/OO.N %/>@# TBW-W?H^,Y->X^'M/$5O&=O:O+O!&GF41N1WKV[3X1';(,=J
M +84 4F1FG]JB(.Z@!S 8K)U6U66!^.U:S=*AECW0L#Z4 ?/'BW3S#>22 8P
M:N?#S4#'?[2W0UTGCC3/W,L@6O._"<YMM4;G'S4 ?3%C<>=$#GM5RN=\-7'G
MVRG/:NBH \J^*K[+4_2O#A>_.4!ZFO:OBUG[(<>E?/\ $';4%7U:@#O?#.G-
M<7B-C.37NOAW31!&I*]JX'P-I&8XI"M>P6L*QQ+@=J )1&H'2GT44 -D_P!6
MWTKR/QVV%E^AKUN3_5M]*\?\>\^:/8T >(JAGU5E']ZO9O .E8525KRO0[,S
M:ZV1_%7T-X.L%AA7CM0!UME;K'$!BK>!31A>*?0 F!5>[A$D1&*LTA&10!Y'
MXYTC= Q"UY?:3'3[]$SCYJ^@O%5DLMJW':OGSQ+ UMK"8X^>@#Z+\'S>=I$;
M9SQ71GI7"> ;X?V/"A/.*[G.8\^U '.>(=2%O;2+G'!KP#5KDWNM.H.<M7JG
MCJ\:,NH->1:9&USXA&><M0!ZAX$TKRW5BO6O5H8551Q7,^&K%8((SCM76+TH
M ,"C%+10!!<1AXF&.U>7^-]*WVTA"UZLPR*YGQ)9":T88H ^=K4G3;STYKZ!
M\"W'VC2U;.>*\(\76IL[L$#'->M?#2_']DHI/.* /3*@N_\ CV?Z5*C;E!J*
M\_X]9/I0!\S?$*?9K4G/>N>TMC>S!!SS6I\2@W]M28]:J^ K5I]24$9YH ]N
M^'NFB" ;E[5Z,(E':L#P[9BW@7 QQ714 ( !2T44 (1FF^4OI3Z* $"@=*6J
M-S?+ <$U6_M>//44 :Q -5+Z%7MG&.U5?[6C]13GODDA/(H \:\:V/EF1P.]
M6/A4Y-V1GO5_QWM-G(PK*^%!S?-]: /=A]T4M(/NBEH YGQ(0(6^E>#ZASXJ
MC_WZ]U\3Y\EOI7@]ZW_%51_[] 'T3X;4?V1#_NUL5D>&_P#D$0_[HK7H ***
M0]* ,;6KT06T@SVKYW\079NO$13.<M7LWC*[,4;C/:O#DC:X\3J3R"U 'J7@
MS2-I1RO6O4((UC4#%8/AJR6.SB..PKHR,4 2CI00*:IXI] &/JULLEN_':O!
MO%NG&"ZDE QS7T1=)OB8>U>2^/M/"V<K@=J ,SX6W9DO=I/0U[JOW1]*^<OA
MA<_9]58,?XJ^A;2X$T8(]* (]1N?LT!?.,"O$/B%JGVL[0V>:]9\6S&+378'
MM7S]K,[75V03GF@#H/!FEF9HY"N>:]TTNW6*S08Z"O// %@/L2,17I\*[(P*
M 'X%&!2T4 -**1TK@_&>EBXC8A>U=]67JELLT#9&>* /DKQ58M!>.,=ZZ'X3
M*1K2_6KGC[3PMY(0*A^%@VZZ!_M4 ?3T'^I7Z5)4<'^I7Z5)0 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
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
M ^F(/]0GTJ2HX/\ 4I]*DH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *X#XD_P#(,;Z5W]>?_$HX
MTQOI0!Y/X?7-U^->]^&1C3T^E>"^'&_TK\:][\-_\>"?2@#<J&Z_X]W^E35#
M=?\ 'N_TH \*\>??FKS'2V(O6^M>H^/$^:8UYUX?LFNM08*/XJ -D.W'-2-,
MVWK6ZGAV7 ^4T-X=EQ]TT <ZL[ ]:1I&9LYK=_X1R7/W34J>')<?=- &(LK!
M<9K+U-&FKLO^$=E_NFHI/#4C'E#0!B>&+ _:XCCO7T9H*[=,C'^S7ENA: T,
MJ$KT->M:;'Y=FJ^@H \S^)RYKB_#7%Y&/>NW^)G2N T"8+J$8_VJ /H;2/\
MCPC^E7ZSM%.=.C/M6C0 4444 %%%% !1110!A^*!_P 2N3Z5X'>I_I[_ .]7
MOOB?_D%R?2O!KP@WS?[U 'J_P]&+,?2N]KA/A_\ \>8^E=W0 4444 %><_$+
M_5&O1J\W^(C8B- 'DUE_R%X_]ZOHGPY_R"HO]VOG:P.=6C_WJ^B?#G_(*B_W
M: -:3_5GZ5Y3XU;F05ZM)_JV^E>3>-C\\E ''^!U_P"*BS_M5]#P?ZA?I7SU
MX'/_ !4'_ J^A8/]0GTH DHHHH *J:@,VS?2K=5-0.+9OI0!XGX_&V-OK6]\
M)SFVK!^(#9C;ZUN_"88MJ /6J\W^)O\ QY'Z5Z17G/Q+7=9'Z4 >2:-_Q^I_
MO5]#>&?^07']*^=],;R[Y ?[U?0OA=\Z7']* -ZBBB@ HHHH 0]*XGQV<Z6X
M]J[1S\M<'X[EVZ:_TH \6MT_TW_@5>]>!A_Q+%^E>%:=^^O./[U>]>#$V:<H
M]J .H/0UY#\3&Q*/K7KQZ&O'OB=_KA]: ,GPHN9HS[U[;I__ !Z)]*\0\)2#
MS8Q[U[?IYS:)]* '7_\ QYR?0U\V^)A_Q51/^U7TE??\>DGTKYR\4KM\2,W^
MU0!Z;X*(VQ_05Z0OW17EG@><,R"O4U^X* %HIN[FG4 !J/;\U248H H:@N86
M^E?/?CH[==7_ 'J^@M3D"0M]*^>/';;]<!']Z@#T#P1+F*(>U>HG_CT/TKR?
MP,#Y<5>L?\NGX4 ?._Q!'_%09_VJZKP-+EXA]*YWXA0G^V2_H:N>!KP"\C3-
M 'NJ#,2_2I%&!4-JX>%?I5B@ HHHH *R=:_X]V^E:U<]XDNA!:L2>U 'AGCA
M<ZHG^]7L/P\&-#B^E>(^*[]9]37!_BKV[X>G.AQ?2@#LZKWO_'J_TJQ5>]_X
M]9/I0!X/XKYU.3ZUM_#U<7@^M8GBK_D)R?6MWX?'_3!]: /8E^Z/I7,^-?\
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
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !7GOQ,_Y!;?2O0J\_P#B4,Z8
MWTH \B\-D_:O^!5] >&?^0>GTKP#P\,70_WJ]^\,?\@]/I0!O5%<#,##VJ6F
MN-RD4 >,>.[5O+F;%<?\/8$?6&#_ -ZO6O'&F@Z9,^WM7CGA:Y^Q:R_./FH
M]_M]'@DC! '2IO[!B_NBHO#5[]JMP<YXKHJ ,#^P(?[H_*G#08O[HK=HH PO
M[!B_NBC^P8?[H_*MVD+ =: ,J'2(XB" *TT38F!3@0>E+0!Y5\2T+*<5Y;H\
MI35XU_VJ]C\>VQFC;BO%X?W'B",'CYJ /IC0#G2XC_LUJ5B^')E;2H1G^$5M
M4 %%%% !112$X'- "T4T2*3@&G4 87BC_D%2?2O!+G)OW_WJ]\\3_P#(+D^E
M>$W"C[>_^]0!ZOX _P"/,?2N[KAO 0Q9CZ5W- !1110 5YC\221$:].KS/XC
MC,)H \FTL_\ $UC_ -ZOH[PY_P @J+_=KYNT\XU>/_>KZ/\ #?\ R"HO]V@#
M7D_U;?2O)O&P^:2O69/N'Z5Y5XT7)DH XGP-G_A(O^!5]$6_^H3Z5\]>"%QX
MA_X%7T-!_J$^E $E%%% !5+4_P#CU;Z5=JIJ S;-]* /#O'1)#9]:Z7X4?\
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
M/I4E !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
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
M?2O(?'/+2B@#Q.SE^S:PS?[5>Z>!=7\Q%&ZO#I;5OMS$#O7<^%M2.G%0S8H
M^B;:421@YJQ7':)KZ30+\PKHX[P.,YH O57F.T$TQKH =:Q]4U=886^84 <]
MXSU$1VK#=VKQ6\0WVJ(W7YJ[#Q=K@N59 U97AK2VO9E?&>: /:O \/E:+$,=
MJZ@]*R/#UO\ 9]/1,8P*V* .-\4Z9]H@D;'8UX'=*;#7F;IAJ^H=1@66TD&,
MY%>!>,=">*[EF"D<T =WX'UH7.Q-W2O3(V!45\X>"-8-A=X=L8/>O:],UU+B
M,$,#Q0!T]%5(;H2=ZEEE"+F@!TK[8R:X#QEJXBLW&ZN@U36%AA?YATKQWQ=K
M7VL21J_>@#F)V.J7GK\U>\?#^U^SZ4BX[5XWX.TMKFXW,">:]]\/6OV:S5<8
MXH VZ@N_^/9_I4]07G_'K)]* /G;Q1)_Q5./]JO4?"*_N8S["O)O%38\6_\
M J]8\'N#!%]!0!WZ_=%+2+]T4M !5/5/^0?+_NFKE5-1&;&4?[)H ^8]7?9X
MR8_[?]:]N\(W0DAC&>PKQ;Q/;&'Q(\V.C5W'@S7E1U4MTH ]I'2AN1679ZDL
MZ @U>$P- $BC!JOJ$HBM7;/05%=7JP+DFN6USQ$@M)$WCI0!YEX[UWS#+#N[
MU8^$)W7A/J:\^\3W#W%_(V3@FO0?@^N+C\: /?5^Z/I2T@^Z*6@#F/$I_<M]
M*\'O_P#D:H_]^O?]?MS+"V!VKY\UU_LOB=2>,/0!]&>'#_Q*(?\ =%:]<5X2
MUI)K&&(,.@KM%.5!H 6CM110!SVOV?G6\AQVKY\U;-CXEW],-7TW>1"2W<8Z
MBO _&N@N+^2=5/!S0!W_ (,U\721Q;N@ KT52"H-?-W@S5S87^UWQ@]Z]NTO
M74NXUPP- '245'$^],U)0 50U.Y%O;,^>E0:AJ:VF<G&*XC7O%:20O$KC- '
M3Z/JWVJX*[L\UTPZ5Y;X(N&FO"2<Y->HC[HH R];M?M5HR8SD5X+XWTPV$N[
M&.:^C70.,&O)?B=IGFQDJM &1X"UOR8DC+5[38S":V5L]17S#H]P^G7B*21@
MU[CX=\0)+;1IN&<4 =O15-+L, <TXW( ZT 6<UR?B?5!:1.-W:M*]UA+="2P
MKR_QCK?VK<$>@#R[QGJ7VB^DYZFM;X3C.M*?>N9UFT>:1I.:ZGX4KMUI1[T
M?3\'^I7Z5)4<'^I7Z5)0 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 5YU\4%)TIL>E>BUP_Q!@,VG
M, ,\4 >+>&(V%USZU]">&1C3T^E>+Z!IS)<?=[U[9X?399*/:@#9HHHH CFB
M$J%37FGC[1 ULQ1><>E>GUD:SIPO82I&>* /F1Y+G3KG:,@9KT+PIKK!XQ(W
MZU3\6^'O(N&*IW]*Y."YEL9AC(Q0!]&0:Y!Y*Y<=/6FW6N0>0V&'3UKP]/%4
MRJ!N/%$GBF9T(W'F@#;\5:ZQ\P1M^M>>I<7=[<]SS5V:XEOI"#DYKK/"/AL7
M,H+)W]* /0_AY')'IJAQSBNYK*T;3A8P! ,5JT (1D8KF/$VCQW%A*VW)QZ5
MU%07</GP,GJ* /E35+&?3]4D=00 U='X<UV164.WZUV/C/PRJ0O*$Y/M7E9$
MMG*< C!H ^A-$UZ$VJ[G'2M4Z[;X^^*^?;7Q+/;QA=Q%6#XNGQ]\T =_XOUT
M?-Y;?K7E<U_=7-_M!)!-3W.JS7[C))S6UH&AFYN$=DZGTH ZSP+9NDZ.PZUZ
MRGW!7.Z'I"VL:$+CBNC' H P_%(SI4GTKP.ZB)OWX_BKZ!\0IOTZ0>U>,7-B
MWVQCM_BH ]#^'Z;;,?2N\KC/!,1CM0".U=G0 4444 %>:?$=<PFO2Z\[^($1
MDB.!0!Y!IR'^UH_]ZOHSPY_R"HO]VO!=.LW_ +3C.T_>KWS05VZ;&/:@#2D_
MU;?2O(?&ZDRR5Z_)]P_2O,?%]J9))"!0!PW@:,C7P?\ :KZ%@_U"?2O#O!]F
MT>MY*GK7N,/^I7Z4 24444 %5+]=UNP]JMU'*F]"* /#?B' PB8X[UM_"12+
M6K'Q%T[-H2%IWPO@,5O@C% 'J-%%% &%KFE1W5K(Q&3@U\]>)M-FM-3D=%(
M-?3TR>9$R^HKS?Q=X:5X9)0G- 'F/AO6989@'8\'UKU;1]=1HAEOUKQ2\@DL
M)VVJ1@UH:?KDT28R: /<O[;BQ]ZN9\1:ZOEG8WZUPC^(Y0GWC69<:M-=G&2:
M (=6OY[FYV@D@FN@\%Z.\FH([KU-4-+TMKNX0LI.3Z5[!X;T!;:..3;CB@#I
M]/LUMX5P.U7Z:@VJ!3J $/0UX]\3QF6O8CTKR7XD0-)+P,T <OX4!^TQ_6O=
MM-_X\T^E>+>%[5EGC)4]:]KT\8M$'M0!:J*>(2QE3WJ6B@#R7XCZ&/L;-$O/
MTKR73IKC3I\'(YKZ:UW2UU" J5SQ7B?BW0?L$Y*)CGTH Z7P[KX\M [_ *UV
M1UR+RQ\W:O ;;4YK64+\PQ6PWB.;RP-QH ];GUR/RFPW:O.?%&M/(DBHWZUC
M?\)!*R$;C5%7EOKC:03DT ,T"VFO[P[P2,U[IX2T=(;9<KV]*Y#P?X> D5BE
M>L6%J+>, "@"U&@1<"GT44 (PR,5GW6FQW"D,.M:-% 'D7C7PZJ@F-/TKS&[
ML+J D(IKZ2U;3%O1RN:YJ?P='(3^['Y4 ?/VW4 ^,-6E96]Y*?F!KV(^!(MV
M?+'Y5:@\%QQ_\LQ^5 ' Z'H\DES&77O7I,NE16^G*V.<5=LO#R6[J0@XJ77R
M(+#'3 H \(\9C&IIC^]7M'P[_P"0'']*\5\4'SM33_>KVSX?KMT2/Z4 =C5>
M]_X])/I5BH+P9MG'M0!X#XJ4G5I/K71_#Y<78^M9GB6T9M3<A3UK=\"P-'=#
M([T >KK]T?2EI%^Z*6@"C?V2743!AGBO"_'>BM%?,\:]#7T"1D$5Q_B305O(
MW?;GB@#PW1-3GM;M48D &O8O#NO1E%W/V]:\EUC36L;QRJD8/I4%GKT]J<98
M8H ^B?[=M\??%8^OZ]%]D;:_./6O'?\ A+9_[YJ&Z\17%Q'MRQH ;XFUF>24
MB-CU]:N^%+>>YN8I'!ZUE65D^HRC<I//I7K?A/PZL4"-LZ4 =SI*E+",'TJU
M<?ZAL>E$$?EQ!?2GN-R$4 >#>.)KN._D*9QFN8T;6KB*\_>,>OK7LOB?PXMS
M'))LR<5XUJ^G/83NRJ1@^E 'L7AG7XS$-[]O6NH_MRWQ]\5\Z:9KUQ;C&6%:
MC^*YPGWC0!ZIXEUZ+[,VQ^U>'>(KF6[U)=I)!:KD_B&>\)7<34^G::U[<([*
M3SZ4 =[X%TS_ $:&1EYKUB!=L2CVKF?"^G""QC^7&!74J,#% "T444 %%%%
M!1110!D^(O\ D$3?[IKYNMHF;Q=)C^_7TGKR[M*F'^R:\(TK3F?Q<Y*G&_TH
M ]?\+Q,D*9]*ZRLS2[006Z<=JTZ $/0UX1\7 QODQ_>KW<]#7C/Q.M#/>(0,
M\T =7\,P1H<>?2N\KC/A]"8M'0$8XKLZ "BBB@ JGJ?_ !X2_P"Z:N55U ;K
M.0>QH ^:-5B=O&1P/X_ZU[=X4A9((R1V%>:W.EE_%N[;_%7LNC68AM8^.PH
MUQTJ.>(3(5-2T4 >4_$#0P\!*+^E>.O+<Z==!%R!FOI_6M-%[$01GBO%_%GA
M[R;HE4[^E %_PEKK!X_,;]:]5M]=@,2_..GK7SJEQ+8-D9&*TK;Q9.."YXH
M]VO-<@^SMAATKR?Q/KS$R!&_6L>;Q3,\9&X\U@37,U[*<Y.30 V-[G4+D=3S
M7OW@&%H=*4,.U>=>#/#WVEP63]*]ETFQ%E;A ,4 :59^HV27$+9':M"FN-RD
M4 ?/GC71WBNY'1>E<QX>OI[74,.2 #7O'B/0%N8I'VYXKQO5]*;3YW=5QSZ4
M >B:7KR[5RWZUTRZ[%]G^_\ K7@UMK$T)QD\5HQ^)9L;=QH ].O-=5=WS?K7
MF?BO6)9Y\1MG)]:K7VM3%.">:J64,FHSJ64GF@"YX7TR6ZU*-W4D$U]!:+ID
M=M;1D#!P*Y+PIX;6.&.79S7HD*;(POH* 'T444 >3?%9-UO7*>"X\%?K7<?$
MJ RP<#-<OX3M6C9>#UH ]ETG_CS3Z5?JCI8Q:+]*O4 %%%% #)?]6WTKR+QK
MS/)7KLO^K;Z5Y#XU_P!?)0!YS;V0GO" ,\TW5K:>R==@(K=\+VXN=6VD9YKJ
M?$_AT&(,$[>E '.^&]9DB1 [?K7HEEKJ&-<MV]:\=G$EC+@ C%30:]*G&XT
M>RS:[&$/S?K7&>(=<+1N%;M7)2^(92,;C5'[9+=R8.3F@"BYN+VZ(Y(S7KWP
M]T?%NID7G%<WX8\/?:9U+)U]J]@T32UL(@ N.* -6&(1(%%2T44 -==RD'O7
M$^,]%273I&5><>E=Q5+4K475NR$9S0!\KW4-QIUXQ (&ZNX\+ZZRQ*';]:T/
M&GAL0JSJGZ5Y^DLMD^T C!H ]UTW7(_ERU7K[78?*X<=/6O$8?$$L2#YC3Y/
M$L\HQN- '4>(]<+!PK?K7G \^]OR#D@FKDMW-=38.3FNI\,Z!Y]RC,G7VH Z
M?P%HWEX++7J<,0B0 5D:-I8LXUPN.*W* "H+S_CUD^E3U#=\VS_2@#YM\51D
M^+./[U>K>#HF6"(D=J\_UZQ:7Q6#M/WJ]@\/6(AL8CCM0!T*_=%+2#I2T %0
M7:[K=QZBIZ:Z[D(H \&\;Z4PGEE5:XG0;V:UO2"2,&O>O%6BB:TD;;U%>*7N
MF-:7+LJD<^E 'J'A_7!Y(W-V]:Z6/78L??\ UKP^VU66U7&2*F_X2:8'[QH
M]2UW74\H[6[>M>:ZOJLT\A52>:HRZW-=<9)J?3[1[N=-RGDT <]?Z=*Z&5EZ
MUZ%\)8]EQCWJ[JOAP)H?F!.<>E+\-+9H;Q@1CF@#V8?=%+2#H*6@"K>PB2!\
M^E?-?CZRDCUYI%' :OIN09C8>U>2>-="$\LDNS- '.>!M::*Y1)&X%>S1:[;
M^6OSCI7S;#)+IU\=H(P:VQXHN0 -S4 >_1:Q#(P 85I(P=017A6@^(IYKZ-2
M6Y->UZ:YDLXV/<4 6V&Y2*X_Q9HL<UA*X7YL>E=C56^MQ<6[(1G- 'RS?6UQ
MI]^[*"!NKM_".N,JJ)&_6MCQAX96-'D"?I7G!EET^3"@C!H ^A;#78?LXRX_
M.K1UR#!^<?G7@L/BB:.+&XU)'XKG<D!C0!V_B_7@"X1OUKR9M0NKO4RH)*DU
M<U'4Y[R;!W')K8\-:$;F[1V3J?2@#N? %K)&ZLPZUZF/NBN?T/25LXE(7'%=
M#0 5R'BVP%U$W&>*Z^J-]:B=""* /FGQ!8R6E\2HQ@UJ^%]:DAN%5VX'O77>
M*]!!=W"?I7FDBRV-T2H(P: /<;778S&OS=O6II==B"'YOUKQFWU^9!@DTZ3Q
M%,>-QH [3Q'KA,+;&_6N&0SW\G<\U&;R:\;:<G-=QX0T'[0 63]* .3O=#8:
M>SE><>E1_#6$Q>(<8Z-7K6M^'UCTJ3"?PUP7@JP:#Q&QVX^:@#WF#_4K]*DI
MD/\ JE^E/H **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH *Q=>L?MEN5QFMJFL@;J* ."L?#WE29V]Z
M[.PA\F$+5@0H.PIX '2@!:*** "D89!I:* .0U_11>.3MS7":EX/(W.$_2O9
MVB5NHJC?64;PD;1^5 'S_<: T;$;:2WT%I' VUZC>:*&8X3]*;9Z(%D4E._I
M0!S6G>#R0K;/TKO/#NCBR(^7%;EE9QI HVCIZ5=6-5Z"@!P&!2T44 %%%% &
M+K]@+RU*8S7FU[X,WLQV?I7L+*&&#4+VL94_*/RH ^?;[PNT+D;?TK.&@L7Q
MMKVK5-)620D(/RK'70AYF=GZ4 <?HWA4RX)7]*]!T;01;%?EZ5K:+IJ0KRH_
M*MY857H!0 D"!(P*EHHH J:A#YUNR^M<;+X?W3%MO?TKO",CFF>2GH* ,K1;
M+[+%C&*V::JA>E.H **** "N=\0:;]M7&,UT5-9%;J* /.;;PSLN5?;T/I7?
M6$7DVRIZ"I1 @/05(!@4 #<J:YK5M+^TEN.M=-3#&K=10!Q.D:#]FO?,V]Z[
M=!A *:(54Y %24 %%%% !1110!SGB73/M\&W&:B\,:5_9Z8QBNF=%?J*1(U3
MH* 'T444 %9VK6HN;5DQU%:-(5##!H \CU3P?Y[L=GZ5S-UX7-L2-OZ5[X]M
M&P.5'Y5S>K:6LC'"#\J /&3HS,VW%:VE>%3*P^7]*[-=#_>YV?I72:1IJ18R
MH_*@#G=*\-?9W4[.GM7>V<(B@5<=!4BP(O0"I ,"@!:*** "N2\2:/\ ;FSM
MS76TQHE?J* .(TO0/L[J=O2NUMTV1*/04HA1>@%2=* "BBB@!& (KB?$V@B_
M<D+G\*[>HWB5^H% 'AU_X+,89]GZ5AG06WE=O2O?=1L8Y+=@%'3TKD?[$'G,
M=G?TH \P706$@7;UKJ]&\)<K)L_2ND_L0><IV=_2NPTZR2.W4;1T]* *&C:8
M+4#Y>E= .!2*@7H*=0 4444 %)N'K45S+Y4+/Z"N4;Q.@NS%O'!H [#@T;1Z
M5FZ??BZ'!S6G0 W8OI2[1Z4M% "8 KC_ !O<"&P8Y[5U5U+Y,)?TKRGQWKBR
MV[1AJ /-[J0W6H*>OS5[UX&7;H\8]J\3\/:8U_<!\9YKWOPU:FUL%0C&!0!N
M4R9=T3#U%/HH X;4]!\^Y9]O4U=T+2/LDN=N*Z@PH3D@4JQJO04 .'2EHHH
M*@NHQ)"RXZBIZ",T >:ZUX8^U2N0G7VKB=3\)&#)V?I7O;0(W4"L'6M,25>$
M'Y4 >%Q^'V:8+M[UTUKX+,D2ML_2NNAT,"X4[._I79V5E&ENH*CIZ4 >?:3X
M4^SL"4_2O0-+M1;P!<5;6WC7HHJ4  <4 +1110!5O81-;LN.HKSK6_"OVIF(
M3K[5Z<1D5&UNC=5% 'BG_"#E 3L_2L.^\.-&Y7;7T%)9Q%#\H_*N2U+1UDN"
M0GZ4 >6Z3X6,LW*]_2O0-)\,_9]IV?I6UH^DK%*"4'Y5U*0(H& * (K"#R8
MN*MT@  XI: "BBB@ HHHH **** *M_%YUJZ>HKA[#PYY.L&?9WSTKT$C(Q48
M@0-D 4 .B7;&H]!3Z** #M7'>)M%^WS!MN<&NQIC1*_44 9.@67V.T5,8P*V
M::JA1@"G4 %%%% !4<Z[X67U%24=: .';0<ZMYVWO79VZ;(57T%+Y*YS@5)T
MH **** $8 J:X_7M$%W(3MS78TQHE;J* /&=4\'G8Q"?I7)7'AUH&/RU]#7M
ME&\1&T?E7':EH@=N$_2@#RZUT)I6 VUT]AX-.%;9^E=1I^B!)%RG?TKM;2SC
M2%1M'3TH P?#6CBQ_AQ75@8%-6-4Z"GT %%%% %>[B$L++CJ*X'7/#7VK=A.
MOM7HI&:C:!&'(% '@.H^%3;N?E_2LY=!8-]VO:]9TM)6X0?E6'_88S]S]* .
M!MO#1NB%V_I74Z1X0^SLI*?I75Z1I2QRY*#\JZA+:-0,*/RH KZ7;"WME7'0
M5?I  !@4M !1110!S7B32_MR8QFLO2M ^SD?+7;-&K]12"%!T H 9:Q^7"%]
M*GH Q10 4444 ,E_U;?2O(/&W^NDKU^7_5M]*\B\;+F:2@#F? [9UW'O7LFI
M:<+JW7Y<\5XYX&0C7?\ @5>_Q(&A7([4 >3ZOX3WEFV?I7'W/AYHG/RU] W=
MI&\3#:.E<??Z,'<D)^E 'E*:$TC ;:Z?2O"!8*^S]*Z>VT,!QE/TKL=-LHXX
M -H_*@#&T+1A:,IV]*ZQ0 !35C5>@I] !1110 4444 <WXCTL7L1&W->>:AX
M-SN;9^E>RM&K]156YLXVB8;1T]* /GJ\T)HG*[>E6M'\,M<O]VO1-1T0/.Q"
M=_2M+P_I*P/RGZ4 <7!X+*R [/TKM-$T06K*=O2NJ%K&/X1^52+$J] * %1=
MJ@4ZBB@ IDJ[HV'J*?10!P%YX>\W5Q-M[UVUC%Y5LB8Z"I3"A;.!3P,"@!:*
M** "BBB@"EJ-N)[9EQU%>?ZEX6\YF.S]*],(!'-1-;H0?E% '@VJ>&C Y&W]
M*Q3H;%\;:]LUG2EE<D*/RK"_L+Y_N?I0!Q.D^%S,X^7]*[33/"_D.IV=/:NB
MT72UA894?E72+;H.BB@##OM,$VE^3M[5G>&]$^PW!;;CFNQ* C&*18E0\ 4
M/'2BBB@!#TK U?31<QL-N<UT%-9 W44 >/7G@OS)V8)U/I5;_A!VS]S]*]E-
MK&3]T?E2?9(O[H_*@#R[2?")M[I'V]#Z5ZA91^5;(GH*>+:-3D*/RJ4# P*
M%HHHH P]>T\7D!7&:\XU+P<9"S!/TKV%D##D57FM(VC/RC\J /GN^\.M"Q7;
MTI^C^&VN)L;>]>H:IHPDE8A/TJ70='6&?)3OZ4 <8/!)\Q6V?I77:'X?%HR'
M;TKLQ:1X'RC\JD6%%Z 4 +$H6,"GT44 %(1D4M% '.ZMI@N5;Y>M<'?>#O-E
M8[.OM7KA0-U%1&UC/\(_*@#P74?"QM?X?TK,AT%I)@-O>O:]=TM)NB#\JQ+3
M1 MPI*=_2@#G-.\'G:K;/TKT#P[I0LE VULVEG&D"C:.GI5M8U3H* *FIVXG
MLV3'45R6D:!]FU,R[<<UW1 (P:8(44Y % #D&$ IU%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4UE##!IU% %5K-&[4+9HIZ5:HH 15VC%+110 4
M444 %%%% !1110! ]NKGD5']A3/2K=% $4<0CZ5+110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %0R0*_4
M5-10!4^PIG.*FCA5.@J6B@ HHHH **** "BBB@ HHHH **** "BBB@!KJ'&#
M5?[&F<XJU10!5^QIG.*L(H08%.HH **** "BBB@#.UIBNFRD?W37@-YJD\.N
M298XW5] ZLN^PD'M7S[XGLGAO9) IZT >B^%->0J-[?K7;)J\3?Q5\Y:3K4M
MJ^"2*Z^Q\3DD9?\ 6@#V3^T8\9S3#JD0[UYR?$0\G/F?K5*3Q+@']Y^M '=Z
M[K<2V$F&YQZUX5K=_)>WCH#D9K6U?Q&\R,@<G-86BVLE[J&64G)H ]'^&^EA
MHPSK7K4,0B3:!7)>#K#[+".,<5V5 !1110 4444 %%%% !1110 5%)").HJ6
MB@"J+- <XJRJ[1BEHH **** "BBB@ HHHH #R*KO:JYR15BB@"".W6,Y J>B
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH :RAA@U7>S1^HJU10!42S13P*M*-HQ2T4 %%%% !1110 4444
M 0R0+)U%1?8D]*MT4 01VZQG(%3T44 %%%% !1110 4444 %%%% !1110 R3
M_5M]*\G\9C,TE>L2?ZMOI7E'C(_OI* .=\%*!K?XU[Q#_J5^E>$^"C_Q.Q]:
M]VA_U*_2@![#(Q5=K1&ZBK-% %062 ]*LH@08%.HH **** "BBB@ HHHH *0
MC(Q2T4 5'LT<Y(J2*V6+H*GHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** ()+=9#R*B^PIGI5RB@"&.!8^@J:BB@ HHHH **** "BBB@ HHHH ****
M"BBB@ I",BEHH K/:(YR12Q6JQ'(%6** "BBB@ HHHH **** "BBB@"&6!9.
MHJ);)%.<5;HH 11M&*6BB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@"&Y3S(67U%><^)/#HF5VV]:],ZUE:O$IMSQ0!\[ZMI7V)F.,5S,NKF
MUEQNQBO2/&:!0V!7B>M.1<G![T =:/$Q*8W_ *U!)KY)^]^M<3'*V>IJ1I6W
M#F@#T'2R=0N%7KDUZSX;\+",)+LZ\]*\D\$?->PY]17T_HL*#3XC@?=H DTZ
MU^SH!BM&D  I: "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** &2_P"K;Z5Y!XUDQ<.*]?E_U3?2O&O&Y_TI
MZ ,CP0V=;'UKWN#_ %*_2O / O\ R&Q]:]_@_P!2OTH DHHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
,H **** "BBB@#__9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<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="idm140549280001032">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Feb. 28, 2022</div></th>
<th class="th"><div>Jun. 30, 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_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl 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-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl 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>
<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_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2021<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_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">2021<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_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">0-21121<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_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">TRANSACT TECHNOLOGIES INC<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_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001017303<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_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl 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">06-1456680<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_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">One Hamden Center<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_dei_EntityAddressAddressLine2', window );">Entity Address, Address Line Two</a></td>
<td class="text">2319 Whitney Avenue, Suite 3B<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_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Hamden<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_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">CT<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_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">06518<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_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">203<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_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">859-6800<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_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common stock, par value $0.01 per share<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_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">TACT<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_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<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>
<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_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
<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_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 119,400,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_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,889,745<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_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">688<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_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">Marcum LLP<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_dei_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Hartford, Connecticut<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</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-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 annual 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-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_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_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_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_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="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_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="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_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="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 230<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_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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>15
<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="idm140549280121592">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 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_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">$ 19,457<span></span>
</td>
<td class="nump">$ 10,359<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">7,593<span></span>
</td>
<td class="nump">3,377<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_NontradeReceivablesCurrent', window );">Employee retention credit receivable</a></td>
<td class="nump">1,500<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_NotesAndLoansReceivableNetCurrent', window );">Note receivable</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">100<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_InventoryNet', window );">Inventories</a></td>
<td class="nump">7,720<span></span>
</td>
<td class="nump">11,286<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_PrepaidTaxes', window );">Prepaid income taxes</a></td>
<td class="nump">137<span></span>
</td>
<td class="nump">2,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_OtherAssetsCurrent', window );">Other current assets</a></td>
<td class="nump">738<span></span>
</td>
<td class="nump">644<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">37,145<span></span>
</td>
<td class="nump">28,175<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 );">Fixed assets, net</a></td>
<td class="nump">2,684<span></span>
</td>
<td class="nump">1,950<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_NotesAndLoansReceivableNetNoncurrent', window );">Note receivable, net of current portion</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,584<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_OperatingLeaseRightOfUseAsset', window );">Right-of-use-asset</a></td>
<td class="nump">2,553<span></span>
</td>
<td class="nump">3,618<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="nump">2,621<span></span>
</td>
<td class="nump">2,621<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_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets</a></td>
<td class="nump">5,141<span></span>
</td>
<td class="nump">2,939<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_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">397<span></span>
</td>
<td class="nump">583<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">400<span></span>
</td>
<td class="nump">777<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_AssetsNoncurrent', window );">Total noncurrent assets</a></td>
<td class="nump">13,796<span></span>
</td>
<td class="nump">14,072<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_Assets', window );">Total assets</a></td>
<td class="nump">50,941<span></span>
</td>
<td class="nump">42,247<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_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl 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">4,308<span></span>
</td>
<td class="nump">1,691<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_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">3,894<span></span>
</td>
<td class="nump">3,665<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_OperatingLeaseLiabilityCurrent', window );">Lease liability</a></td>
<td class="nump">789<span></span>
</td>
<td class="nump">837<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_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue</a></td>
<td class="nump">805<span></span>
</td>
<td class="nump">504<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">9,796<span></span>
</td>
<td class="nump">6,697<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_UnsecuredLongTermDebt', window );">Long-term debt</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,173<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_ContractWithCustomerLiabilityNoncurrent', window );">Deferred revenue, net of current portion</a></td>
<td class="nump">186<span></span>
</td>
<td class="nump">111<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_OperatingLeaseLiabilityNoncurrent', window );">Lease liability, net of current portion</a></td>
<td class="nump">1,781<span></span>
</td>
<td class="nump">2,864<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">187<span></span>
</td>
<td class="nump">166<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_LiabilitiesNoncurrent', window );">Total noncurrent liabilities</a></td>
<td class="nump">2,154<span></span>
</td>
<td class="nump">5,314<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_Liabilities', window );">Total liabilities</a></td>
<td class="nump">11,950<span></span>
</td>
<td class="nump">12,011<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_CommitmentsAndContingencies', window );">Commitments and contingencies</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Shareholders' equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl 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</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_CommonStockValue', window );">Common stock, $0.01 par value, 20,000,000 authorized at December 31, 2021 and 2020; 13,917,731 and 12,976,227 shares issued; 9,872,889 and 8,931,385 shares outstanding, at December 31, 2021 and 2020, respectively</a></td>
<td class="nump">139<span></span>
</td>
<td class="nump">130<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_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">55,246<span></span>
</td>
<td class="nump">42,536<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_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">15,573<span></span>
</td>
<td class="nump">19,718<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_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss, net of tax</a></td>
<td class="nump">143<span></span>
</td>
<td class="num">(38)<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_TreasuryStockValue', window );">Treasury stock, at cost, 4,044,842 shares</a></td>
<td class="num">(32,110)<span></span>
</td>
<td class="num">(32,110)<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 shareholders' equity</a></td>
<td class="nump">38,991<span></span>
</td>
<td class="nump">30,236<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 shareholders' equity</a></td>
<td class="nump">50,941<span></span>
</td>
<td class="nump">42,247<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_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember', window );">Series A Preferred Stock [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_StockholdersEquityAbstract', window );"><strong>Shareholders' equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl 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</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="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.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_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_AssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 after one year or beyond 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/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 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 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(12))<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(15))<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 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 6: 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 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 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 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://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 11: 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(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 12: 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 13: 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 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 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 16: 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 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)(iii)(A))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442526-122756<br><br>Reference 18: 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(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<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)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=124359900&amp;loc=SL124442552-122756<br><br>Reference 20: 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 21: 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 22: 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 23: 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 24: 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(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 25: 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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="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 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<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 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31917-109318<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_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="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)(1),(b))<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 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-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_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or 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 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-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://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.6(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_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 due after one year or beyond 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 201.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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(23))<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 S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<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 201.5-02(26))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 5: 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 6: 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 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://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 201.5-02(24))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<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 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 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)(4)(i))<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)(iii)(A))<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 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 13: 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 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><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)(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 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 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 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 20: 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 21: 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 22: 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 23: 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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_NontradeReceivablesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 sum of amounts currently receivable other than from customers. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected 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_NontradeReceivablesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_NotesAndLoansReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 financing receivable, classified as current. Includes, but is not limited to, notes and loan 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 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 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><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (e)<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 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 5: 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(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=120398452&amp;loc=d3e534808-122878<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesAndLoansReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_NotesAndLoansReceivableNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 financing 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 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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesAndLoansReceivableNetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_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_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_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_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_PrepaidTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 income and other taxes 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://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)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-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 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6787-107765<br><br>Reference 3: 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 4: 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 (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123349782&amp;loc=d3e5879-108316<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_PrepaidTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its 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 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=6405834&amp;loc=d3e23315-112656<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,30)<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 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_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_UnsecuredLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 uncollateralized debt obligation (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.</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.22)<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_UnsecuredLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember</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>16
<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="idm140549273931992">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares<br></strong></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_StockholdersEquityAbstract', window );"><strong>Shareholders' 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_PreferredStockParOrStatedValuePerShare', window );">Preferred stock par value (in dollars per share)</a></td>
<td class="nump">$ 0.01<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_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized (in shares)</a></td>
<td class="nump">4,800,000<span></span>
</td>
<td class="nump">4,800,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 (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl 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 (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl 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 (in dollars per share)</a></td>
<td class="nump">$ 0.01<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_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</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_CommonStockSharesIssued', window );">Common stock, shares issued (in shares)</a></td>
<td class="nump">13,917,731<span></span>
</td>
<td class="nump">12,976,227<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 (in shares)</a></td>
<td class="nump">9,872,889<span></span>
</td>
<td class="nump">8,931,385<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_TreasuryStockShares', window );">Treasury stock (in shares)</a></td>
<td class="nump">4,044,842<span></span>
</td>
<td class="nump">4,044,842<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_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember', window );">Series A Preferred Stock [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_StockholdersEquityAbstract', window );"><strong>Shareholders' equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl 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 (in dollars per share)</a></td>
<td class="nump">$ 0.01<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_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized (in shares)</a></td>
<td class="nump">200,000<span></span>
</td>
<td class="nump">200,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_PreferredStockSharesIssued', window );">Preferred stock, shares issued (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl 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 (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.</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,30)<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 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_TreasuryStockShares</td>
</tr>
<tr>
<td style="padding-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_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_StatementClassOfStockAxis=us-gaap_SeriesAPreferredStockMember</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>17
<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="idm140549275943896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_IncomeStatementAbstract', window );"><strong>CONSOLIDATED STATEMENTS OF OPERATIONS [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 );">Net sales</a></td>
<td class="nump">$ 39,386<span></span>
</td>
<td class="nump">$ 30,595<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_CostOfRevenue', window );">Cost of sales</a></td>
<td class="nump">24,137<span></span>
</td>
<td class="nump">17,666<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_GrossProfit', window );">Gross profit</a></td>
<td class="nump">15,249<span></span>
</td>
<td class="nump">12,929<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_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="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 );">Engineering, design and product development</a></td>
<td class="nump">7,475<span></span>
</td>
<td class="nump">5,703<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 );">Selling and marketing</a></td>
<td class="nump">7,658<span></span>
</td>
<td class="nump">6,144<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_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">9,626<span></span>
</td>
<td class="nump">9,255<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_OperatingExpenses', window );">Operating expenses</a></td>
<td class="nump">24,759<span></span>
</td>
<td class="nump">21,102<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_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="num">(9,510)<span></span>
</td>
<td class="num">(8,173)<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_NonoperatingIncomeExpenseAbstract', window );"><strong>Interest and other income (expense):</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_InterestExpense', window );">Interest expense</a></td>
<td class="num">(157)<span></span>
</td>
<td class="num">(130)<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_InterestIncomeDomesticDeposits', window );">Interest income</a></td>
<td class="nump">61<span></span>
</td>
<td class="nump">78<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, net</a></td>
<td class="num">(283)<span></span>
</td>
<td class="nump">56<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_tact_GainFromEmployeeRetentionCredit', window );">Gain from employee retention credit</a></td>
<td class="nump">1,500<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_GainLossOnNonRecourseDebt', window );">Gain on forgiveness of long-term debt</a></td>
<td class="nump">2,173<span></span>
</td>
<td class="nump">0<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 );">Interest and other income (expense)</a></td>
<td class="nump">3,294<span></span>
</td>
<td class="nump">4<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="num">(6,216)<span></span>
</td>
<td class="num">(8,169)<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 );">Income tax benefit</a></td>
<td class="num">(2,071)<span></span>
</td>
<td class="num">(2,539)<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 loss</a></td>
<td class="num">$ (4,145)<span></span>
</td>
<td class="num">$ (5,630)<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_EarningsPerShareBasicAndDilutedAbstract', window );"><strong>Net loss per common share:</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_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="num">$ (0.45)<span></span>
</td>
<td class="num">$ (0.72)<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 );">Diluted (in dollars per share)</a></td>
<td class="num">$ (0.45)<span></span>
</td>
<td class="num">$ (0.72)<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_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract', window );"><strong>Shares used in per-share calculation:</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_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">9,298<span></span>
</td>
<td class="nump">7,827<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 );">Diluted (in shares)</a></td>
<td class="nump">9,298<span></span>
</td>
<td class="nump">7,827<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_GainFromEmployeeRetentionCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 gain from the Employee Retention Credit, a refundable tax credit against certain employment taxes equal to 50% of the qualified wages an eligible employer pays to employees after March 12, 2020, and before January 1, 2021.</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;">tact_GainFromEmployeeRetentionCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_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_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_EarningsPerShareBasicAndDilutedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_EarningsPerShareBasicAndDilutedAbstract</td>
</tr>
<tr>
<td style="padding-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_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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_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_GainLossOnNonRecourseDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 represents the difference between the cash acquisition price of the debt and the net carrying amount of the debt at the time of its extinguishment (or deconsolidation of in-substance real estate when an entity defaults on its debt obligations).</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_GainLossOnNonRecourseDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the cost of borrowed funds accounted for as interest expense.</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 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<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 (d)<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 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=123367319&amp;loc=SL114868664-224227<br><br>Reference 5: 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.9)<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_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InterestIncomeDomesticDeposits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Interest earned on deposits in United States money market accounts and other United States interest earning accounts.</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.4)<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_InterestIncomeDomesticDeposits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>18
<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="idm140549276834248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS [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 loss</a></td>
<td class="num">$ (4,145)<span></span>
</td>
<td class="num">$ (5,630)<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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment, net of tax</a></td>
<td class="nump">181<span></span>
</td>
<td class="num">(7)<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_ComprehensiveIncomeNetOfTax', window );">Comprehensive loss</a></td>
<td class="num">$ (3,964)<span></span>
</td>
<td class="num">$ (5,637)<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_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>19
<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="idm140549280140184">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Additional Paid-in Capital [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
<th class="th"><div>Treasury Stock [Member]</div></th>
<th class="th"><div>Accumulated Other Comprehensive Income (Loss) [Member]</div></th>
<th class="th"><div>Total</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, 2019</a></td>
<td class="nump">$ 115<span></span>
</td>
<td class="nump">$ 32,604<span></span>
</td>
<td class="nump">$ 25,348<span></span>
</td>
<td class="num">$ (32,110)<span></span>
</td>
<td class="num">$ (31)<span></span>
</td>
<td class="nump">$ 25,926<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_CommonStockSharesIssued', window );">Beginning balance (in shares) at Dec. 31, 2019</a></td>
<td class="nump">7,470,248<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense', window );">Issuance of shares from exercise of stock options</a></td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">374<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">375<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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Issuance of shares from exercise of stock options (in shares)</a></td>
<td class="nump">62,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Issuance of common stock on restricted stock units</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures', window );">Issuance of common stock on restricted stock units (in shares)</a></td>
<td class="nump">32,725<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of common stock, net of issuance cost</a></td>
<td class="nump">$ 14<span></span>
</td>
<td class="nump">8,723<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">8,737<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_StockIssuedDuringPeriodSharesNewIssues', window );">Issuance of common stock, net of issuance cost (in shares)</a></td>
<td class="nump">1,380,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="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_AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet', window );">Relinquishment of stock awards and deferred stock units to pay withholding taxes</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(41)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(41)<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_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Relinquishment of stock awards and deferred stock units to pay withholding taxes (in shares)</a></td>
<td class="num">(14,088)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 );">Share-based compensation expense</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">876<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">876<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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment, net of tax</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(7)<span></span>
</td>
<td class="num">(7)<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 loss</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(5,630)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(5,630)<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 Dec. 31, 2020</a></td>
<td class="nump">$ 130<span></span>
</td>
<td class="nump">42,536<span></span>
</td>
<td class="nump">19,718<span></span>
</td>
<td class="num">(32,110)<span></span>
</td>
<td class="num">(38)<span></span>
</td>
<td class="nump">$ 30,236<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_CommonStockSharesIssued', window );">Ending balance (in shares) at Dec. 31, 2020</a></td>
<td class="nump">8,931,385<span></span>
</td>
<td class="text">&#160;<span></span>
</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,976,227<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_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense', window );">Issuance of shares from exercise of stock options</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">436<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 436<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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Issuance of shares from exercise of stock options (in shares)</a></td>
<td class="nump">97,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="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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Issuance of common stock on restricted stock units</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures', window );">Issuance of common stock on restricted stock units (in shares)</a></td>
<td class="nump">50,525<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of common stock, net of issuance cost</a></td>
<td class="nump">$ 9<span></span>
</td>
<td class="nump">11,201<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">11,210<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_StockIssuedDuringPeriodSharesNewIssues', window );">Issuance of common stock, net of issuance cost (in shares)</a></td>
<td class="nump">842,375<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet', window );">Relinquishment of stock awards and deferred stock units to pay withholding taxes</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(133)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(133)<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_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Relinquishment of stock awards and deferred stock units to pay withholding taxes (in shares)</a></td>
<td class="num">(48,396)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 );">Share-based compensation expense</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">1,206<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,206<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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment, net of tax</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">181<span></span>
</td>
<td class="nump">181<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 loss</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(4,145)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(4,145)<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 Dec. 31, 2021</a></td>
<td class="nump">$ 139<span></span>
</td>
<td class="nump">$ 55,246<span></span>
</td>
<td class="nump">$ 15,573<span></span>
</td>
<td class="num">$ (32,110)<span></span>
</td>
<td class="nump">$ 143<span></span>
</td>
<td class="nump">$ 38,991<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_CommonStockSharesIssued', window );">Ending balance (in shares) at Dec. 31, 2021</a></td>
<td class="nump">9,872,889<span></span>
</td>
<td class="text">&#160;<span></span>
</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">13,917,731<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_AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 additional paid in capital (APIC) resulting from a tax benefit (deficiency) associated with an share-based compensation plan other than an employee stock ownership plan (ESOP).</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_AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_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_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_SharesPaidForTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 used to settle grantee's tax withholding obligation 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>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_SharesPaidForTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 new stock issued 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 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 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(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_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 related to Restricted Stock Awards, net of any shares forfeited.</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_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</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 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 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 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 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_StockIssuedDuringPeriodValueNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited.</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 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 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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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, after deduction of related income tax (expense) benefit.</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_StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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>20
<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="idm140549274038904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_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_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (4,145)<span></span>
</td>
<td class="num">$ (5,630)<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 loss to net cash 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_ShareBasedCompensation', window );">Share-based compensation expense</a></td>
<td class="nump">1,206<span></span>
</td>
<td class="nump">876<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_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">957<span></span>
</td>
<td class="nump">1,342<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_DeferredIncomeTaxExpenseBenefit', window );">Deferred income tax benefit</a></td>
<td class="num">(2,150)<span></span>
</td>
<td class="num">(367)<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_GainLossOnSaleOfProperty', window );">Loss on sale of fixed assets</a></td>
<td class="nump">9<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_ForeignCurrencyTransactionGainLossBeforeTax', window );">Foreign currency transaction (gains) losses</a></td>
<td class="nump">272<span></span>
</td>
<td class="num">(58)<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_GainLossOnNonRecourseDebt', window );">Gain on the forgiveness of long-term debt</a></td>
<td class="num">(2,173)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="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="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_IncreaseDecreaseInReceivables', window );">Accounts receivable</a></td>
<td class="num">(4,217)<span></span>
</td>
<td class="nump">2,975<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_tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable', window );">Employee retention credit receivable</a></td>
<td class="num">(1,500)<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_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="nump">3,573<span></span>
</td>
<td class="nump">876<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_IncreaseDecreaseInPrepaidTaxes', window );">Prepaid income taxes</a></td>
<td class="nump">2,210<span></span>
</td>
<td class="num">(2,226)<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_IncreaseDecreaseInOtherOperatingAssets', window );">Other current and long-term assets</a></td>
<td class="nump">322<span></span>
</td>
<td class="num">(198)<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="nump">2,534<span></span>
</td>
<td class="num">(1,276)<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 liabilities and other liabilities</a></td>
<td class="nump">592<span></span>
</td>
<td class="nump">176<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_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="num">(2,510)<span></span>
</td>
<td class="num">(3,510)<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_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="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_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="num">(1,384)<span></span>
</td>
<td class="num">(744)<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_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from sale of fixed assets</a></td>
<td class="nump">8<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_tact_PaymentsForProceedsFromNotesReceivable', window );">Collection (issuance) of note receivable</a></td>
<td class="nump">1,598<span></span>
</td>
<td class="num">(600)<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_NetCashProvidedByUsedInInvestingActivities', window );">Net cash provided by (used in) investing activities</a></td>
<td class="nump">222<span></span>
</td>
<td class="num">(1,344)<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_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="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_ProceedsFromLinesOfCredit', window );">Revolving credit line borrowings</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,756<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_RepaymentsOfLinesOfCredit', window );">Revolving credit line payments</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(2,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_ProceedsFromIssuanceOfOtherLongTermDebt', window );">Long-term debt borrowings</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,173<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_ProceedsFromStockOptionsExercised', window );">Proceeds from stock option exercises</a></td>
<td class="nump">436<span></span>
</td>
<td class="nump">375<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_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from the issuance of common stock</a></td>
<td class="nump">12,214<span></span>
</td>
<td class="nump">9,798<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_PaymentsOfStockIssuanceCosts', window );">Payment of common stock issuance costs</a></td>
<td class="num">(1,014)<span></span>
</td>
<td class="num">(1,061)<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_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities', window );">Withholding taxes paid on stock issuance</a></td>
<td class="num">(133)<span></span>
</td>
<td class="num">(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_us-gaap_PaymentsOfLoanCosts', window );">Payment of bank financing costs</a></td>
<td class="num">(31)<span></span>
</td>
<td class="num">(213)<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_NetCashProvidedByUsedInFinancingActivities', window );">Net cash used in financing activities</a></td>
<td class="nump">11,472<span></span>
</td>
<td class="nump">11,031<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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Effect of exchange rate changes on cash and cash equivalents</a></td>
<td class="num">(86)<span></span>
</td>
<td class="num">(21)<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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Increase in cash and cash equivalents</a></td>
<td class="nump">9,098<span></span>
</td>
<td class="nump">6,156<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 and cash equivalents, beginning of period</a></td>
<td class="nump">10,359<span></span>
</td>
<td class="nump">4,203<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 and cash equivalents, end of period</a></td>
<td class="nump">19,457<span></span>
</td>
<td class="nump">10,359<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_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental cash flow information:</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_InterestPaidNet', window );">Interest paid</a></td>
<td class="nump">76<span></span>
</td>
<td class="nump">64<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_IncomeTaxesPaid', window );">Income taxes paid</a></td>
<td class="nump">57<span></span>
</td>
<td class="nump">46<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_CapitalExpendituresIncurredButNotYetPaid', window );">Non-cash capital expenditure items</a></td>
<td class="nump">$ 82<span></span>
</td>
<td class="nump">$ 25<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 current assets classified as employee retention credit receivable.</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;">tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_PaymentsForProceedsFromNotesReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 associated with payments for (receipts from) principal collections from a borrowing supported by a written promise to pay an obligation.</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;">tact_PaymentsForProceedsFromNotesReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_CapitalExpendituresIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Future cash outflow to pay for purchases of fixed assets that have occurred.</p></div>
<a href="javascript:void(0);" onclick="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 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4332-108586<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 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4313-108586<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 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4304-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_CapitalExpendituresIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 income tax expense (benefit) pertaining to income (loss) 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://fasb.org/us-gaap/role/ref/legacyRef<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 S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: 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(h)(1)(Note 1))<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 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: 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 6: 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 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<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_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</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_DepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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. Excludes amounts 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://www.xbrl.org/2003/role/disclosureRef<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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 realized tax benefit related to deductible compensation cost reported on the entity's tax return for equity instruments in excess of the compensation cost for those instruments recognized for financial reporting purposes.</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/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=122142933&amp;loc=d3e11374-113907<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_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ForeignCurrencyTransactionGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.</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 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=125521441&amp;loc=d3e30690-110894<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 35<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123602790&amp;loc=d3e30226-110892<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -URI http://asc.fasb.org/extlink&amp;oid=120253306&amp;loc=d3e28228-110885<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124440516&amp;loc=d3e30840-110895<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_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnNonRecourseDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 represents the difference between the cash acquisition price of the debt and the net carrying amount of the debt at the time of its extinguishment (or deconsolidation of in-substance real estate when an entity defaults on its debt obligations).</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_GainLossOnNonRecourseDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_GainLossOnSaleOfProperty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 gain (loss) on sale or disposal of oil and gas property or timber property.</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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfProperty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeTaxesPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.</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 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4297-108586<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 25<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3536-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_IncomeTaxesPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating 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 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_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 operating 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_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInPrepaidTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 consideration paid in advance for income and other taxes that provide economic benefits in future periods.</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_IncreaseDecreaseInPrepaidTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 total amount due within one year (or one operating cycle) from all parties, associated with underlying transactions that are classified as operating 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 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_IncreaseDecreaseInReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</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 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4297-108586<br><br>Reference 2: 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 17<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3367-108585<br><br>Reference 3: 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 25<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3536-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_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_PaymentsOfLoanCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 for loan origination associated cost which is usually collected through escrow.</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> -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_PaymentsOfLoanCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PaymentsOfStockIssuanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 for cost incurred directly with the issuance of an equity security.</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> -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_PaymentsOfStockIssuanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 from the additional capital contribution to the entity.</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 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_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 issuance of long-term debt 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 14<br> -Subparagraph (b)<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_ProceedsFromIssuanceOfOtherLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</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 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3255-108585<br><br>Reference 2: 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(f))<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_ProceedsFromLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="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 12<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3179-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_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_RepaymentsOfLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</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 (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3291-108585<br><br>Reference 2: 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(f))<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_RepaymentsOfLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<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="idm140549275660104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Description of business<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_tact_DescriptionOfBusinessAbstract', window );"><strong>Description of business [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_NatureOfOperations', window );">Description of business</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">1. Description of business</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct Technologies Incorporated (together with its subsidiaries, &#8220;TransAct,&#8221; the &#8220;Company,&#8221; &#8220;we,&#8221; &#8220;us,&#8221; or &#8220;our&#8221;), which has its
    headquarters in Hamden, Connecticut and its primary operating facility in Ithaca, New York, operates in one operating segment: software-driven
    technology and printing solutions for high growth markets including food service technology, casino and gaming and POS automation markets.&#160; Our solutions are designed from the ground up based on market and customer requirements and are sold under the
    BOHA!<sup>TM</sup>, AccuDate&#8482;, Epic, Ithaca&#174;, EPICENTRAL and Printrex&#174; product brands.&#160; We sell our products to original equipment manufacturers, value-added resellers, select distributors, and directly to end-users.&#160; Our product distribution spans
    across the Americas, Europe, the Middle East, Africa, Asia, Australia, New Zealand, the Caribbean Islands and the South Pacific. TransAct also provides world-class service, spare parts, accessories and printing supplies to its growing worldwide
    installed base of products.&#160; We also generate revenue from the after-market side of the business, providing printer and terminal service, consumables and spare parts in addition to revenue from our two software solutions; (i) our line of BOHA! software applications used to automate the back-of-house operations of restaurants, convenience stores and food service operators and (ii) the
    EPICENTRAL Print System (&#8220;EPICENTRAL&#8221;), that enables casino operators to create promotional coupons and marketing messages and print them in real time at the slot machine.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Impact of the COVID-19 Pandemic</div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In the first quarter of 2020, the COVID-19 pandemic and the resulting social distancing measures, including closures and restricted
    openings of restaurants and casinos implemented by federal, state and local authorities, negatively impacted customer demand and disrupted portions of our supply chain, including delayed product shipments from our two manufacturers located in Thailand and China.&#160; While we began to experience a modest recovery starting in the second half of 2020 into 2021 and expect this recovery to continue
    during 2022, the exact timing and pace of recovery are unknown given uncertainty surrounding responsive measures to the spread of virus variants or any potential future resurgences of the virus and the significant disruption that our customers have
    already experienced and may continue to experience.&#160; In light of this uncertainty, we implemented a number of cost saving measures during 2020 to help mitigate the impact on our financial position and operations and continued to limit discretionary
    spending during 2021.&#160; We are monitoring indicators of demand recovery, including our sales pipeline, customer orders and product shipments to ascertain an estimate of the ultimate impact of the COVID-19 pandemic on our business; however, the length
    and ultimate severity of the reduction in demand due to the pandemic remains uncertain.</div>

<div style="line-height: 11.4pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Balance Sheet, Cash Flow and Liquidity.
    </span>In addition to the expense management actions implemented during 2020, we took the following actions to increase liquidity and strengthen our financial position.</div>

<div style="line-height: 11.4pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"/>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Public Offering &#8211; On October 16, 2020 and August 16, 2021, the Company raised net proceeds of
              $</span>8.7<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> million and $</span>11.2<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> million (</span>including the exercise of the underwriters
            overallotment options on October 16, 2020 and August 20, 2021)<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">, respectively, after deducting underwriting discounts, commissions and offering expenses, through
              underwritten public offerings and sold an aggregate of </span>1,380,000<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> and </span>842,375<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> shares of common
              stock, respectively.</span></div>
        </td>

  </tr>


</table>

<div style="line-height: 11.4pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"/>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">PPP Loan &#8211; On May 1, 2020, the Company was granted a $</span>2.2<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> million loan (the &#8220;PPP Loan&#8221;) under the Paycheck Protection Program
              (the &#8220;PPP&#8221;) administered by the Small Business Administration (&#8220;SBA&#8221;) established under Division A, Title I of the Coronavirus Aid, Relief, and Economic Security (&#8220;CARES&#8221;) Act, which enabled us to return employees we furloughed earlier in
              2020 to full time employment and to restore </span>employees to full pay following certain pay cuts<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">.&#160; </span>On July 8, 2021, we received notice that the PPP Loan
            had been forgiven as of July 1, 2021.&#160; See Note 9 for further details regarding the PPP Loan.</div>
        </td>

  </tr>


</table>

<div style="line-height: 11.4pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"/>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Employee Retention Credit &#8211; </span>Under the provisions of the CARES Act, the Company is
            eligible for a refundable employee retention credit subject to certain criteria.&#160;&#160;In connection with the CARES Act, the Company recognized the employee retention credit during the fourth quarter of 2021 and recorded $1.5 million as &#8220;Gain from employee retention credit&#8221; in the Consolidated Statement of Operations for the year ended December 31, 2021 and the
            related receivable as &#8220;Employee retention credit receivable&#8221; in the Consolidated Balance Sheets as of December 31, 2021.&#160; We expect to receive these funds during 2022.</div>
        </td>

  </tr>


</table>

<div style="line-height: 11.4pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"/>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">New Credit Facility &#8211; On March 13, 2020, we entered into a new credit facility with Siena
              Lending Group LLC that provides a revolving credit line of up to $</span>10.0<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> million, subject to a borrowing base.</span></div>
        </td>

  </tr>


</table>

<div style="line-height: 11.4pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"/>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#9679;</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Reduced Capital Expenditures &#8211; We limited capital expenditures during 2020 and gradually increased expenses during 2021 as our sales improved.</div>
        </td>

  </tr>


</table>

<div style="line-height: 11.4pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We may further modify or supplement the expense management measures we have implemented and the actions we have taken to increase
    liquidity as the timing and extent of customer demand recovery develops and supply chains normalize.</div>

<div style="line-height: 11.4pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">After reviewing whether conditions and/or events raise substantial doubt about our ability to meet future financial obligations over
    the 12 months following the date on which the Consolidated Financial Statements included in this Form 10-K (this &#8220;Report&#8221;) were issued, including consideration of the actions taken to manage expenses and liquidity, we believe that our net cash to be
    provided by operations combined with our cash and cash equivalents and borrowing availability under our revolving credit facility will provide sufficient liquidity to fund our current obligations, capital spending, and working capital requirements and
    to comply with the financial covenants of our credit facility over at least 12 months following the date that the Consolidated Financial Statements were issued.</div>

<div style="line-height: 11.4pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Use of Assumptions and Estimates</div>

<div style="line-height: 11.4pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Management&#8217;s belief that the Company will be able to fund its planned operations over the 12 months following the date on which the
    Consolidated Financial Statements were issued is based on assumptions which involve significant judgment and estimates of future revenues, capital expenditures and other operating costs. Our current assumptions are that casinos and restaurants remain
    open and consumer traffic continues to gradually increase during 2022, but that many casinos and restaurants may delay purchases of new slot machines and our BOHA! products, respectively, due to labor shortages and supply issues caused by the
    pandemic.&#160; Based on these assumptions, we anticipate that sales in casino and gaming and food service technology may continue to be negatively impacted for the foreseeable future.&#160; We have performed a sensitivity analysis on these assumptions to
    forecast the potential impact of a slower-than-anticipated recovery and believe that we are positioned to withstand the impact of lower-than-anticipated sales and that we will be able to take additional financial and operational actions to cut costs
    and/or increase liquidity if necessary. These actions may include additional expense reductions and capital raising activities.</div>

<div style="line-height: 11.4pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In addition, the presentation of the accompanying audited Consolidated Financial Statements requires us to make estimates and judgments
    that affect the reported amounts of assets, liabilities, revenue and expenses, and the disclosure of contingent assets and liabilities.&#160; Our estimates include those related to revenue recognition, inventory obsolescence, the valuation of deferred tax
    assets and liabilities, depreciable lives of equipment, warranty obligations, and contingent liabilities.&#160; We base our estimates on historical experience and on various other assumptions that we believe to be reasonable under the circumstances.&#160; Actual
    results could differ from those estimates used.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Smaller Reporting Company</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">As a smaller reporting company, as defined in Item 10(f)(1) of Regulation S-K, we may choose to prepare our disclosures relying on
    certain scaled disclosure requirements for smaller reporting companies in Regulation S-K and in Article 8 of Regulation S-X.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The scaled disclosure requirements for smaller reporting companies permit us (i) to include less extensive narrative disclosure than
    required of other reporting companies, particularly in the description of executive compensation and (ii) to provide audited financial statements for two fiscal years, in contrast to other reporting companies, which must provide audited financial
    statements for three years.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We may lose our status as a smaller reporting company on the last day of the fiscal year in which (i) our public float exceeds $250
    million as of the last day of the second fiscal quarter or (ii) if we have more than $100 million in annual revenues and (a) have no public float or (b) have a public float more than $700 million.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_DescriptionOfBusinessAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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;">tact_DescriptionOfBusinessAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_NatureOfOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.</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 (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI http://asc.fasb.org/topic&amp;trid=2134479<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_NatureOfOperations</td>
</tr>
<tr>
<td style="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>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="idm140549275706904">
<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">12 Months Ended</th>
</tr>
<tr><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_AccountingPoliciesAbstract', window );"><strong>Summary of significant 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_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', window );">Summary of significant accounting policies</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">2. Summary of significant accounting policies</div>

<div style="text-align: justify; line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Principles of
      consolidation: </span>The accompanying Consolidated Financial Statements include the accounts of TransAct and its wholly-owned subsidiaries, which require consolidation, after the elimination of intercompany accounts, transactions and unrealized
    profit. </div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Use of estimates</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">:</span> The preparation of Consolidated Financial Statements in conformity with accounting principles generally accepted in the United States of America
    (&#8220;GAAP&#8221;) requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities, revenue and expenses, and disclosure of contingent assets and liabilities as of the date of the Consolidated Financial Statements
    and the reported amounts of sales and expenses during the reporting period. Actual results could differ from those estimates.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Segment reporting</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">: </span>We apply the provisions of the Financial Accounting Standards Board (&#8220;FASB&#8221;) Accounting Standards Codification (&#8220;ASC&#8221;) 280, &#8220;Segment Reporting.&#8221;&#160; We
    view our operations and manage our business as one segment: the design, development and marketing of software-driven technology and printing
    solutions and providing printer and terminal related software, services, supplies and spare parts.&#160; Factors used to identify TransAct&#8217;s single operating segment include the organizational structure of the Company and the financial information available
    for evaluation by the chief operating decision-maker in making decisions about how to allocate resources and assess performance.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Cash and cash equivalents</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">:</span> We consider all highly liquid investments with a maturity date of three months or less at date of purchase to be cash equivalents.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Allowance for
      doubtful accounts</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">:</span> We establish an allowance for doubtful accounts to ensure trade receivables are valued appropriately.&#160; We maintain an
    allowance for doubtful accounts based on a variety of factors, including the length of time receivables are past due, significant one-time events and historical experience.&#160; We record a specific allowance for individual accounts when we become aware of
    a customer&#8217;s inability to meet its financial obligations, such as in the case of bankruptcy filings or deterioration in the customer&#8217;s operating results or financial position.&#160; If circumstances related to customers change, we further adjust estimates
    of the recoverability of receivables.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following table summarizes the activity recorded in the valuation account for accounts receivable:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, beginning of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">220</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">221</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Additions charged to costs and expenses</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deductions</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, end of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">219</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">220</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="text-align: left; line-height: 13.7pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Inventories:</span> Inventories are
    stated at the lower of cost (principally standard cost, which approximates actual cost on a first-in, first-out basis) or net realizable value.&#160; We review net realizable value based on estimated selling prices in the ordinary course of business less
    estimated costs of completions, disposal and transportation, historical usage and estimates of future demand.&#160; Based on these reviews, inventory write-downs are recorded, as necessary, to reflect estimated obsolescence, excess quantities and net
    realizable value.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Fixed assets:</span> Fixed assets are
    stated at cost.&#160; Depreciation is recorded using the straight-line method over the estimated useful lives.&#160; The estimated useful life of tooling is five years;
    machinery and equipment is ten years; furniture and office equipment is five years to ten years; and computer software and equipment is three years to seven years.&#160; Leasehold
    improvements are amortized over the shorter of the term of the lease or the useful life of the asset.&#160; Costs related to repairs and maintenance are expensed as incurred.&#160; The costs of sold or retired assets are removed from the related asset and
    accumulated depreciation accounts and any gain or loss is recognized.&#160; Depreciation expense was $0.7 million and $1.0 million in 2021 and 2020, respectively.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Leases:</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> We account for leases in accordance with ASC 842, &#8220;Leases&#8221; (&#8220;ASC 842&#8221;), which </span>requires lessees to apply a dual approach, classifying leases as either finance or operating leases based on
    the principle of whether or not the lease is effectively a financed purchase by the lessee. This classification determines whether lease expense is recognized based on an effective interest method for finance leases or on a straight-line basis over the
    term of the lease for operating leases. A lessee is also required to record a right-of-use asset and a lease liability for all leases with a term of greater than 12 months regardless of their classification.&#160; Leases with a term of 12 months or less are
    accounted for based on existing guidance for operating leases.&#160; If risks and rewards are conveyed without the transfer of control, the lease is treated as financing. If the lessor does not convey risks and rewards or control, the lease is treated as
    operating.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We have elected certain practical expedients available under ASC 842 upon adoption. We have applied the practical expedient for
    short-term leases. We have lease agreements that include lease and non-lease components, and we have not elected the practical expedients to combine these components for any of our leases.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We enter into lease agreements for the use of real estate space and certain equipment under operating leases and we have no financing
    leases. We determine if an arrangement contains a lease at inception. Our leases are included in &#8220;Right-of-use asset&#8221; and &#8220;Lease liability&#8221; in our Consolidated Balance Sheets.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Right of use assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to
    make lease payments arising from the lease. Lease right of use assets and liabilities are recognized at the commencement date of the lease based on the present value of lease payments over the lease term. On February 28, 2020, we entered into an
    amendment to extend the lease on our facility in Ithaca, New York, which resulted in recording an additional right-of-use-asset and lease liability of $1.5
    million.&#160; The lease, which was last amended on January 14, 2016, was scheduled to expire on May 31, 2021.&#160; The lease amendment provides for an extension of the lease for <span style="-sec-ix-hidden:Fact_0a53edda34ca481aa7934ea4ab7d186a">four</span> additional years from June 1, 2021 to May 31, 2025.&#160; On April 30, 2021, we entered into an amendment to modify the expiration date of our lease on our Hamden, CT facility.&#160; The lease, which
    was last amended on January 3, 2017, was scheduled to expire on April 30, 2027.&#160; The lease amendment modified the expiration date to October 31, 2025.&#160; The modification resulted in reducing the right-of-use-asset and lease liability by $0.3 million.&#160; Lease expense is recognized on a straight-line basis over the lease term.&#160; As most of our leases do not provide an implicit rate, the
    Company determines its incremental borrowing rate by using the rate of interest that the Company would have to pay to borrow on a collateralized basis over a similar term, an amount equal to the lease payments in a similar economic environment.&#160; Our
    lease right of use asset excludes lease incentives. Our leases have remaining lease terms of one year to five years, some of which include options to extend.&#160; The exercise of lease renewal options is at our sole discretion and our lease right of use assets and liabilities reflect only
    the options we are reasonably certain that we will exercise. Lease expense is recognized on a straight-line basis over the lease term.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Goodwill and
      Intangible assets</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">:</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> We acquire businesses in purchase
      transactions that result in the recognition of goodwill and intangible assets. The determination of the value of intangible assets requires management to make estimates and assumptions. In accordance with ASC 350-20 &#8220;Goodwill,&#8221; acquired goodwill is
      not amortized but is subject to impairment testing at least annually and when an event occurs or circumstances change that indicate it is more likely than not an impairment exists.&#160; </span>We perform a fair value-based impairment test to the
    carrying value of goodwill and indefinite-lived intangible assets on an annual basis (as of December 31) and, if certain events or circumstances indicate that an impairment loss may have been incurred, on an interim basis.&#160; The Company utilizes the
    option to first assess qualitative factors to determine whether it is necessary to perform the Step 1 quantitative goodwill impairment test in accordance with the applicable accounting standards. Under the qualitative assessment, management considers
    relevant events and circumstances including but not limited to macroeconomic conditions, industry and market considerations, Company performance and events directly affecting the Company. If the Company determines that the Step 1 quantitative
    impairment test is required, management estimates the fair value of the reporting unit primarily using the income approach, which reflects management&#8217;s cash flow projections, and also evaluates the fair value using the market approach. <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Factors considered that may trigger an interim period impairment review of either acquired goodwill or intangible assets are: significant underperformance relative to expected
      historical or projected future operating results; significant changes in the manner of use of acquired assets or the strategy for the overall business; significant negative industry or economic trends; and significant decline in market capitalization
      relative to net book value. Finite lived intangible assets are amortized and are tested for impairment when appropriate.</span></div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">As of December 31, 2021, we have determined that no goodwill or intangible asset impairment has occurred and the fair value of goodwill was substantially higher than our carrying value based on our assessment as of December 31, 2021 when our annual review for impairment was performed.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; margin-bottom: 8pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Revenue
      recognition:</span> We account for revenue in accordance with ASC Topic 606: Revenue from Contracts with Customers.&#160; In accordance with ASC 606, a performance obligation is a promise in a contract with a customer to transfer a distinct good or
    service to the customer. Some of our contracts with customers contain a single performance obligation, while other contracts contain multiple performance obligations (most commonly when contracts include a hardware product, software and extended
    warranties).&#160; A contract&#8217;s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.</div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The transaction price is determined based on the consideration to which the Company will be entitled in exchange for transferring
    services to the customer.&#160; To the extent the transaction price includes variable consideration, such as price protection, reserves for returns and other allowances, the Company estimates the amount of variable consideration that should be included in
    the transaction price utilizing either the &#8220;expected value&#8221; method or the &#8220;most likely amount&#8221; method depending on the nature of the variable consideration.&#160; Variable consideration is included in the transaction price if, in the Company&#8217;s judgment, it
    is probable that a significant future reversal of cumulative revenue under the contract will not occur.</div>

<div style="text-align: justify; line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">For a majority of our revenue, which consists of printers, terminals, consumables, and replacement parts, the Company recognizes
    revenue as of a point of time.&#160; The transaction price is recognized upon shipment of the order when control of the goods is transferred to the customer and at the time the performance obligation is fulfilled.&#160; We also sell a software solution in our
    casino and gaming market, EPICENTRAL, that enables casino operators to create promotional coupons and marketing messages and to print them in real time at the slot machine.&#160; EPICENTRAL is primarily comprised of both a software component, which is
    licensed to the customer, and a hardware component.&#160; EPICENTRAL software and hardware are integrated to deliver the system&#8217;s full functionality.&#160; The transaction prices from EPICENTRAL software license and hardware are recognized upon installation and
    formal acceptance by the customer when control of the license is transferred to the customer.&#160; For out-of-warranty repairs, the transaction price is recognized after the repair work is completed and the printer or terminal is returned to the customer,
    as control of the product is transferred to the customer and our performance obligation is completed.</div>

<div style="text-align: justify; line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Performance obligations are satisfied over time if the customer receives the benefits as we perform work, if the customer controls the
    asset as it is being produced, or if the product being produced for the customer has no alternative use and we have a contractual right to payment.&#160; For our separately priced extended warranty, BOHA! cloud-based software applications, technical support
    for our food service technology terminals and maintenance agreements (including free one-year maintenance received by customers upon completion
    of EPICENTRAL installation) revenue is recognized over time as the customer receives the benefit.&#160; The transaction price from the maintenance services is recognized ratably over time, using output methods, as control of the services is transferred to
    the customer.&#160; Our cloud-based BOHA! software allows customers to use hosted software over the contract period on a subscription basis without taking possession of the software and the subscription price is recognized ratably over the contract period.&#160;
    For extended warranties, the transaction price is recognized ratably over the warranty period, using output methods, as control of the services is transferred to the customer.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">When there is more than one performance obligation in a customer arrangement, the Company typically uses the &#8220;standalone selling price&#8221;
    method to determine the transaction price to allocate to each performance obligation. The Company sells the performance obligations separately and has established standalone selling prices for its products and services. In the case of an overall price
    discount, the discount is applied to each performance obligation proportionately based on standalone selling price. To determine the standalone selling price for initial EPICENTRAL installations, the Company uses the adjusted market assessment
    approach.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">For contracts with terms of less than 12 months, the Company expenses sales commissions as they are incurred, since the expected
    amortization period of the cost to obtain a contract is less than 12 months.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Disaggregation of revenue</div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following table disaggregates our revenue by market type, as we believe it best depicts how the nature, amount, timing and uncertainty of
    our revenue and cash flows are affected by economic factors.&#160; Sales and usage-based taxes are excluded from revenues.</div>

<div style="line-height: 11.05pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31, 2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">(In thousands)</span></div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">United States</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Food service technology</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11,738</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">887</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12,625</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">POS automation</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,817</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,825</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Casino and gaming</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10,173</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,129</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15,302</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Printrex</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">171</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">460</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">631</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct Services Group</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,501</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">502</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,003</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 4px;" valign="bottom">
          <div style="text-align: left; margin-left: 16.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total net sales</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">32,400</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,986</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">39,386</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="line-height: 12.3pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31, 2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">(In thousands)</span></div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">United States</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Food service technology</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,956</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">778</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,734</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">POS automation</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,763</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,770</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Casino and gaming</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,852</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,127</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10,979</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Lottery</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">817</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">817</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Printrex</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">83</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">217</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">300</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct Services Group</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,262</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">733</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,995</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 16.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total net sales</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">24,733</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,862</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">30,595</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="text-align: left; line-height: 14.75pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Contract balances</div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Contract assets consist of unbilled receivables.&#160; Pursuant to the over-time revenue recognition model, revenue may be recognized prior
    to the customer being invoiced. An unbilled receivable is recorded to reflect revenue that is recognized when such revenue exceeds the amount invoiced to the customer. Unbilled receivables are separated into current and non-current assets and included
    within &#8220;Accounts Receivable&#8221; and &#8220;Other Non-Current Assets&#8221; on the Consolidated Balance Sheets.&#160; We first recorded contract assets during 2020 upon the start of a long-term BOHA! contract.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Contract liabilities consist of customer prepayments and deferred revenue.&#160; Customer prepayments are reported as &#8220;Accrued Liabilities&#8221;
    in current liabilities in the Consolidated Balance Sheets and represent customer payments made in advance of performance obligations in instances where credit has not been extended and is recognized as revenue when the performance obligation is
    complete.&#160; Deferred revenue is reported separately in current liabilities and non-current liabilities and consists of our extended warranty contracts, technical support for our food service technology terminals, EPICENTRAL maintenance contracts and
    prepaid software subscriptions for our BOHA! software applications, and is recognized as revenue as (or when) we perform under the contract.&#160; The increase in current and non-current deferred revenue in 2021 compared to 2020 was primarily due to
    increased BOHA! software subscriptions and increased extended warranty contracts on our BOHA! hardware products.&#160; During the year ended December 31, 2021,
    we recognized revenue of $0.7 million related to our contract liabilities as of December 31, 2020. </div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net contract (liabilities) assets consist of the following:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">(In thousands)</span></div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Unbilled receivables, current</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">314</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">290</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Unbilled receivables, non-current</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">308</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">591</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Customer pre-payments</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(99</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(216</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred revenue, current</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(805</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(504</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred revenue, non-current</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(186</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(111</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net contract (liabilities) assets</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(468</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">50</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="text-align: justify; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Remaining performance obligations</div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Remaining performance obligations represent the transaction price of firm orders for which a good or service has not been delivered to
    our customer.&#160; As of December 31, 2021, the aggregate amount of the transaction price allocated to remaining performance obligations was $10.5 million.&#160; The Company expects to recognize revenue on $10.1
    million of our remaining performance obligations within the next 12 months and $0.4 million within the next <span style="-sec-ix-hidden:Fact_0fb767fdbb19460d8f1b18e429c9fbeb">24</span> months.</div>

<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Concentration of credit
      risk:</span>&#160; Financial instruments that potentially expose us to concentrations of credit risk are limited to cash and cash equivalents held by our banks in excess of insured limits and accounts receivable.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accounts receivable from customers representing 10% or more of total accounts receivable were as follows:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Chain Link Services</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International Gaming Technology (&#8220;IGT&#8221;)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">NCR Corporation</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Sales to customers representing 10% or more of total net sales were as follows:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">IGT</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>

<div style="text-align: left; line-height: 13.7pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Warranty:</span> We generally warrant our
    products for up to 24 months and record the estimated cost of such product warranties at the time the sale is recorded.&#160; Estimated warranty
    costs are based upon actual past experience of product repairs and the related estimated cost of labor and material to make the necessary repairs.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following table summarizes the activity recorded in the accrued product warranty liability:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, beginning of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">140</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">215</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Warranties issued</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">44</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">56</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Warranty settlements</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(83</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(131</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, end of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">140</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$79 thousand and $112 thousand of the accrued product warranty liability was classified as current in Accrued liabilities at December 31, 2021 and 2020, respectively.&#160; The remaining
    $22 thousand and $28 thousand of the
    accrued product warranty liability as of December 31, 2021 and 2020, respectively, was classified as long-term in Other liabilities.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Engineering,



      design and product development:</span> Engineering, design and product development expenses include expenses incurred in connection with specialized engineering and design to introduce new products and to customize existing products, and are expensed
    as a component of operating expenses as incurred.&#160; We recorded $7.5 million and $5.7 million of research and development expenses in 2021 and 2020, respectively.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Costs incurred in the engineering, design and product development of a computer software product are charged to expense until
    technological feasibility has been established, at which point all material software costs are capitalized within Intangible assets in our Consolidated Balance Sheet until the product is available for general release to customers.&#160; While judgment is
    required in determining when technological feasibility of a product is established, we have determined that it is reached after all high-risk development issues have been documented in a formal detailed plan design.&#160; The amortization of these costs
    have been included in cost of sales over the estimated life of the product.&#160; During 2019, we contracted several third-parties to develop software for our food service technology products, the cost for which we capitalized.&#160; Unamortized development
    costs for such software were $396 thousand as of December 31, 2021.&#160; The total amount charged to cost of sales for capitalized software development costs was $154
    thousand and $153 thousand in 2021
    and 2020, respectively.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Advertising:</span> Advertising costs are
    expensed as incurred.&#160; Advertising expenses, which are included in selling and marketing expense on the accompanying Consolidated Statements of Operations, for 2021 and 2020 totaled $1.8 million and $0.7 million, respectively. These expenses include items such as
    consulting and professional services, tradeshows, and print advertising.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Income taxes:</span> The income tax
    amounts reflected in the accompanying Consolidated Financial Statements are accounted for under the liability method in accordance with ASC 740, &#8220;Income Taxes&#8221; (&#8220;ASC 740&#8221;).&#160; Deferred tax assets and liabilities are recognized for the estimated future
    tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards.&#160; Deferred tax assets and liabilities are
    measured using enacted tax rates in effect for the year in which those temporary differences are expected to be recovered or settled.&#160; We assess the likelihood that net deferred tax assets will be realized from future taxable income, and to the extent
    that we believe that realization is not likely, we establish a valuation allowance.&#160; In accordance with ASC 740, we identified, evaluated and measured the amount of benefits to be recognized for our tax return positions. </div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Foreign currency
      translation:</span> The financial position and results of operations of our foreign subsidiary in the UK are measured using local currency as the functional currency.&#160; Assets and liabilities of such subsidiary have been translated into U.S. dollars
    at the year-end exchange rate, related sales and expenses have been translated at the exchange rate as of the date the transaction was recognized, and shareholders&#8217; equity has been translated at historical exchange rates.&#160; The resulting translation
    gains or losses, net of tax, are recorded in shareholders&#8217; equity as a cumulative translation adjustment, which is a component of accumulated other comprehensive income and loss.&#160; Foreign currency transaction gains and losses, including those related
    to intercompany balances, are recognized in Other, net on the Consolidated Statements of Operations.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Share-based payments:</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">&#160;</span>At December 31, 2021, we have share-based
    employee compensation plans, which are described more fully in Note 10 - Stock incentive plans.&#160; We account for those plans under the recognition and measurement principles of ASC 718, &#8220;Compensation &#8211; Stock Compensation.&#8221;&#160; Share-based compensation
    expense is measured at the grant date, based on the estimated fair value of the award, and is recognized as expense over the employee&#8217;s requisite service period.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We use the Black-Scholes option-pricing model to calculate the fair value of share-based awards.&#160; The key assumptions for this
    valuation method include the expected term of the option, stock price volatility, risk-free interest rate, dividend yield, market price of our underlying stock and exercise price.&#160; Many of these assumptions require judgment and are highly sensitive in
    the determination of compensation expense.&#160; Forfeitures are recognized as they occur.</div>

<div style="line-height: 11.05pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Net loss per
      share:</span> We report net income or loss per share in accordance with ASC 260, &#8220;Earnings per Share (EPS).&#8221; Under this guidance, basic EPS, which excludes dilution, is computed by dividing income or loss available to common shareholders by the
    weighted average number of common shares outstanding for the period.&#160; Diluted EPS reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock.&#160; Diluted EPS
    includes in-the-money stock options using the treasury stock method.&#160; During a loss period, the assumed exercise of in-the-money stock options has an anti-dilutive effect, and therefore, these instruments are excluded from the computation of diluted
    EPS.&#160; See Note 12 - Earnings per share.</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_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).  Accounting policies describe all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="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 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_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<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="idm140549275720552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note receivable<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_AccountsAndNotesReceivableNetAbstract', window );"><strong>Note receivable [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_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock', window );">Note receivable</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">3. Note receivable</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">The note receivable balance relates to loans given to a
      third-party software developer from whom we license our food service technology software with an interest rate of </span>4.5%<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">, which were originally due in April 2020.&#160; In March 2021, we received payment in the amount of $</span>1.6<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> million representing the remaining principal balance and interest due from the third-party.&#160; </span>Prior to the
    payment being received, notes receivable were stated at unpaid principal balances and interest income was recognized on the accrual method.&#160; Interest income for 2021 and 2020 was $17 thousand and $67 thousand, respectively. </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_AccountsAndNotesReceivableNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_AccountsAndNotesReceivableNetAbstract</td>
</tr>
<tr>
<td style="padding-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_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses.</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 310<br> -SubTopic 10<br> -URI http://asc.fasb.org/subtopic&amp;trid=2196772<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_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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="idm140549275613272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_InventoryDisclosureAbstract', window );"><strong>Inventories [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_InventoryDisclosureTextBlock', window );">Inventories</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">4. Inventories</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The components of inventories are:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Raw materials and purchased component parts</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,479</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,467</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Work-in-process</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Finished goods</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,230</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,819</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,720</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11,286</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</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_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</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 330<br> -URI http://asc.fasb.org/topic&amp;trid=2126998<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_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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="idm140549275782664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fixed assets, net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_PropertyPlantAndEquipmentAbstract', window );"><strong>Fixed assets, net [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_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Fixed assets, net</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">5. Fixed assets, net</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The components of fixed assets, net are:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Tooling, machinery and equipment</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,694</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9,508</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Furniture and office equipment</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,660</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,706</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Computer software and equipment</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,973</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,364</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Leasehold improvements</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,872</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,873</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">18,199</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">21,451</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Less: Accumulated depreciation and amortization</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(16,736</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(19,979</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,463</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,472</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Construction in-process</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,221</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">478</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,684</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,950</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</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_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="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 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99893-112916<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -URI http://asc.fasb.org/topic&amp;trid=2155823<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=SL120174063-112916<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99779-112916<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_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<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="idm140549275616872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible assets, net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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>Intangible assets, net [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">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">6. Intangible assets, net</div>

<div style="text-align: justify; line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Identifiable intangible assets are recorded in Intangible assets, net in the accompanying Consolidated Balance Sheets and are comprised of the following:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt;"><span style="line-height: 10.25pt;">&#160;</span></div>
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gross Amount</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accumulated Amortization</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gross Amount</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accumulated Amortization</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Purchased technology</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,591</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1,195</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,526</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1,975</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Customer relationships</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,300</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1,300</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Trademark</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">480</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(450</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Covenant not to compete</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">146</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(146</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Patents</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(14</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">56</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(54</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">80</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(80</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,606</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1,209</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,588</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(4,005</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>


</table>

<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amortization expense was $186
    thousand and $234 thousand in 2021
    and 2020, respectively.&#160; Amortization expense for each of the next five years ending December 31 is expected to be as follows: $155 thousand in 2022; $154 thousand in 2023; $88 thousand in 2024; and none thereafter.</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>27
<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="idm140549275686760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued liabilities<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_PayablesAndAccrualsAbstract', window );"><strong>Accrued liabilities [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_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock', window );">Accrued liabilities</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">7. Accrued liabilities</div>

<div style="text-align: justify; line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The components of accrued liabilities are:</div>

<div style="text-align: left; line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Salaries and compensation related</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,854</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,328</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Warranty</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">79</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">112</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Professional and consulting</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">285</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">257</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">676</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">968</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,894</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,665</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</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_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 accounts payable and accrued liabilities at the end of 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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a),20,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_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-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>28
<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="idm140549275689000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement savings plan<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_CompensationAndRetirementDisclosureAbstract', window );"><strong>Retirement savings plan [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_CompensationAndEmployeeBenefitPlansTextBlock', window );">Retirement savings plan</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">8. Retirement savings plan</div>

<div style="text-align: justify; line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We maintain a 401(k) plan under which all full-time employees are eligible to participate at the beginning of the month immediately
    following their date of hire.&#160; We match employees&#8217; contributions at a rate of 50% of employees&#8217; contributions up to the first 6% of the employees&#8217; compensation contributed to the 401(k) plan.&#160; Our matching contributions were $312 thousand and $270 thousand in 2021 and 2020, respectively.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndEmployeeBenefitPlansTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 an entity's employee compensation and benefit plans, including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, share-based compensation, life insurance, severance, health care, unemployment and other benefit plans.</p></div>
<a href="javascript:void(0);" onclick="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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 712<br> -URI http://asc.fasb.org/topic&amp;trid=2197446<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -URI http://asc.fasb.org/topic&amp;trid=2127225<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -URI http://asc.fasb.org/topic&amp;trid=2235017<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_CompensationAndEmployeeBenefitPlansTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<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="idm140549275724488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Borrowings<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DebtDisclosureAbstract', window );"><strong>Borrowings [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_DebtDisclosureTextBlock', window );">Borrowings</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">9. Borrowings</div>

<div style="text-align: justify; line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">On March 13, 2020, we entered into a credit facility (the &#8220;Siena Credit Facility&#8221;) with Siena Lending Group LLC.&#160; The Siena Credit
    Facility provides for a revolving credit line of up to $10.0 million expiring on March 13, 2023.&#160; Borrowings under the Siena Credit Facility bear a floating rate of interest equal to the greatest of (i) the prime rate plus 1.75%, (ii) the federal funds rate plus 2.25%, and (iii) 6.50%. The total deferred financing costs related to expenses incurred to complete the Siena Credit Facility was $245 thousand, which were reported as &#8220;Other current assets&#8221; in current assets and &#8220;Other assets&#8221; in non-current assets in the Condensed Consolidated Balance Sheets.&#160; We also pay a
    fee of 0.50% on unused borrowings under the Siena Credit Facility.&#160; Borrowings under the Siena Credit Facility are secured by a lien on
    substantially all the assets of the Company.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Siena Credit Facility imposes a financial covenant on the Company and borrowings are subject to a borrowing base based on (i) 85% of eligible accounts receivable plus the lesser of (a) $5.0
    million and (b) 50% of eligible raw material and 60%
    of finished goods inventory.&#160; The three-month period from April 1, 2020 to June 30, 2020 was the first period we were subject to the financial covenant, which required the Company to maintain a minimum EBITDA and continued through the 12-month period
    from April 1, 2020 to March 31, 2021.&#160; On July 21, 2021, the Company entered into an amendment (the &#8220;Credit Facility Amendment&#8221;) to the Siena Credit Facility.&#160; The Credit Facility Amendment changed the financial covenant under the Siena Credit Facility
    from a minimum EBITDA covenant to an excess availability covenant requiring that the Company maintain excess availability of at least $750
    thousand under the Siena Credit Facility, tested as of the end of each calendar month, beginning with the calendar month ending July 31, 2021.&#160; We have been in compliance with our excess availability covenant each month since July 31, 2021, and as of&#160;
    December 31, 2021 and 2020, we had no
    outstanding borrowings under the Siena Credit Facility and $5.1 million of borrowing capacity available under the Siena Credit Facility as of
    December 31, 2021.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">On May 1, 2020 (the &#8220;Loan Date&#8221;), the Company was granted the PPP Loan from Berkshire Bank in the aggregate amount of $2.2 million, pursuant to the PPP.&#160; Under the terms of the PPP, the PPP Loan may be forgiven to the extent that funds from the PPP Loan were used for payroll
    costs and costs to continue group health care benefits, as well as for interest on mortgage obligations incurred before February 15, 2020, rent under lease agreements in effect before February 15, 2020, utilities for which service began before February
    15, 2020, and interest on debt obligations incurred before February 15, 2020, subject to conditions and limitations provided in the CARES Act.&#160; At least 60% (under the PPP terms, as amended) of the proceeds from the PPP Loan needed to have been used
    for eligible payroll costs for the PPP Loan to be forgiven.</div>

<div style="line-height: 11.4pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">The PPP Loan, which was evidenced by a Note dated the Loan
      Date issued by the Company (the &#8220;Note&#8221;) in favor of Berkshire Bank, as lender (the &#8220;PPP Lender&#8221;), was scheduled to mature on </span>May 1, 2022<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> and had a fixed interest rate of </span>1.0%<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> per annum, accruing from the Loan Date and payable monthly.&#160; The Company submitted its PPP Loan forgiveness application in May 2021 to the SBA through Berkshire Bank and submitted the related loan
      necessity questionnaire in June 2021.&#160; On July 8, 2021, the Company received notifications from Berkshire Bank and the SBA that its PPP Loan (including all interest accrued thereon) of $</span>2.2<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> million had been fully forgiven by the SBA and that the forgiveness payment date was July 1, 2021.&#160; No payments
      were due on the PPP Loan for six months from the date of first disbursement, and because a loan forgiveness application was submitted to the SBA within 10 months after the end of the covered period, no payments were due until the date on which the
      SBA remitted the loan forgiveness&#160; amount to the PPP Lender and interest accrued during the deferment period was included in the forgiveness amount.&#160; </span>The Note was unsecured and guaranteed by the SBA.&#160; <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">The forgiveness of the PPP Loan was reported as &#8220;Gain on forgiveness of long-term debt&#8221; in the Consolidated Statement of Operations during the year ended December 31, 2021.</span></div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</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 470<br> -URI http://asc.fasb.org/topic&amp;trid=2208564<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<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(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495334-112611<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495348-112611<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495371-112611<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<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_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="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>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="idm140549275712552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock incentive plans<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Stock incentive plans [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 );">Stock incentive plans</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">10. Stock incentive plans</div>

<div style="text-align: justify; line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Stock incentive
      plans</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">.</span>&#160; We currently have two
    stock incentive plans: the 2005 Equity Incentive Plan and the 2014 Equity Incentive Plan, which provide for awards to executives, key employees, directors and consultants.&#160; The plans generally provide for awards in the form of: (i) incentive stock
    options, (ii) non-qualified stock options, (iii) restricted stock, (iv) restricted stock units (which may include performance-based vesting), (v) stock appreciation rights or (vi) limited stock appreciation rights.&#160; Awards granted under these plans
    have exercise prices equal to 100% of the fair market value of the common stock at the date of grant.&#160; Awards granted have a ten-year term and generally vest over a two-year
    to five-year period, unless automatically accelerated for certain defined events.&#160; As of May 2014, no new awards may be made under the 2005
    Equity Incentive Plan.&#160; Under our 2014 Equity Incentive Plan, as amended in May 2020, we are authorized to grant awards of up to 2,200,000
    shares of TransAct common stock.&#160; At December 31, 2021, 611,652 shares of common stock remained available for issuance under the 2014 Equity Incentive Plan.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Under the assumptions indicated below, the weighted-average per share fair value of stock option grants for 2021 and 2020 was $5.41 and $3.19, respectively.&#160; We also issued
    restricted stock units for certain executives and directors that vest over a specified period of time, and in some instances require achieving certain performance metrics.&#160; The weighted-average per share fair value of these restricted stock units was $10.27 and $9.77 in 2021 and 2020, respectively.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The table below indicates the key assumptions used in the option valuation calculations for options granted in 2021 and 2020 and a discussion of our
    methodology for developing each of the assumptions used in the valuation model:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Expected option term (in years)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6.9</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7.0</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Expected volatility</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">50.5</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">41.7</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Risk-free interest rate</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1.2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.9</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Dividend yield</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.0</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.0</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>

<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Expected Option
      Term</span> - This is the weighted average period of time over which the options granted are expected to remain outstanding giving consideration to our historical exercise patterns.&#160; Options granted have a maximum term of ten years and an increase in the expected term will increase compensation expense.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Expected Volatility</span>
    &#8211; The stock volatility for each grant is measured using the weighted average of historical daily price changes of our common stock over the most recent period approximately equal to the expected option term of the grant.&#160; An increase in the expected
    volatility factor will increase compensation expense.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Risk-Free Interest
      Rate</span> - This is the U.S. Treasury rate in effect at the time of grant having a term approximately equal to the expected term of the option.&#160; An increase in the risk-free interest rate will increase compensation expense.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Dividend Yield</span>
    &#8211;The dividend yield is calculated by dividing the annual dividend declared per common share by the weighted average market value of our common stock on the date of grant. An increase in the dividend yield will decrease compensation expense.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">For 2021 and 2020, we recorded $1.2 million and $0.9 million of share-based compensation expense, respectively, included primarily in general and administrative expense in our Consolidated Statements of
    Operations.&#160; We also recorded income tax benefits of $265 thousand and $193 thousand in 2021 and 2020, respectively, related to such share-based compensation.&#160; At December 31, 2021,
    these benefits are recorded as a deferred tax asset in the Consolidated Balance Sheets.</div>

<div style="text-align: left; line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Equity award activity in the 2005 Equity Incentive Plan and the 2014 Equity Incentive Plan is summarized below:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Stock Options</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Restricted Stock Units</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Number of Shares</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> Average Price*</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Number of Units</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Average Price**</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Outstanding at December 31, 2020</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,287,605</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8.98</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">110,550</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10.30</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Granted</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">153,000</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10.55</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">95,200</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10.27</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Exercised</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(97,000</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8.47</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(50,525</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10.29</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Forfeited</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(45,750</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8.87</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Expired</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(28,500</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10.22</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Outstanding at December 31, 2021</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,269,355</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9.18</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">155,225</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10.28</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">*</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">weighted average exercise price per share</div>
        </td>

  </tr>


</table>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">**</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">weighted average grant stock price per share</div>
        </td>

  </tr>


</table>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following summarizes information about equity awards outstanding that are vested and expect to vest and equity awards that are exercisable at
    December 31, 2021:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Equity Awards Vested and Expected to Vest</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Equity Awards That Are Exercisable</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Awards</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Average Price*</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Aggregate Intrinsic Value</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Remaining Term**</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Awards</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Average Price*</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Aggregate Intrinsic Value</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Remaining Term**</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 20%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Stock Options</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,269,355</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9.18</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,662</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5.6</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">856,723</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9.00</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,982</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4.1</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 20%;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Restricted stock units</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">132,518</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,444</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2.2</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">*</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">weighted average exercise price per share</div>
        </td>

  </tr>


</table>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">**</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">weighted-average contractual remaining term in years</div>
        </td>

  </tr>


</table>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Shares that are issued upon exercise of employee stock awards are newly issued shares and not issued from treasury stock.&#160; As of
    December 31, 2021, unrecognized compensation cost related to non-vested equity awards granted under our stock incentive plans is approximately
    $2.1 million, which is expected to be recognized over a weighted average period of 2.4 years.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The total fair value of awards vested was $1.7 million during both the years ended December 31, 2021 and 2020.&#160; The total intrinsic value (which is the amount by which the stock price exceeded the exercise price on the date of exercise) of stock options
    exercised during the years ended December 31, 2021 and 2020 was $268 thousand and $174 thousand, respectively, and cash received from option exercises
    was $436 thousand and $375 thousand in
    2021 and 2020, respectively.&#160; 97,000
    and 62,500 stock options were exercised during the year ended December 31, 2021 and 2020, respectively.&#160; We recorded a realized tax provision in 2021 and 2020 from
    equity-based awards of $35 thousand and $14
    thousand, respectively, related to options exercised.</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>31
<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="idm140549275731432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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_IncomeTaxDisclosureAbstract', window );"><strong>Income taxes [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_IncomeTaxDisclosureTextBlock', window );">Income taxes</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">11. Income taxes</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The components of the income tax benefit are as follows:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Current:</div>
        </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Federal</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">26</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2,141</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">State</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">51</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">17</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Foreign</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(48</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">79</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2,172</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred:</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Federal</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2,086</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(483</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">State</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(62</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(36</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Foreign</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">152</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2,150</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(367</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Income tax benefit</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2,071</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2,539</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>


</table>

<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Our effective tax rates were </span>33.3%<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> and </span>31.1%<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> for </span>2021<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> and </span>2020<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">, respectively.&#160; The tax benefit recorded for 2021 included the recognition of the gain on the forgiveness of the PPP Loan which is not taxable.&#160; </span>The effective tax rate for 2020 included the impact of the net operating
    loss (&#8220;NOL&#8221;) that we carried back to prior years.&#160; The CARES Act permits NOLs incurred in 2018, 2019 and 2020 to be carried back to each of the five preceding taxable years to generate a refund of previously paid income taxes.&#160; We generated a NOL for
    2020 which was carried back to tax years that had a federal statutory tax rate of 34% compared to 21% in 2020 and resulted in a tax refund of $2.2 million that was received in October 2021 causing a significant reduction in prepaid income taxes at December 31, 2021 compared to
    December 31, 2020.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">At December 31, 2021, we
    have $2.0 million of federal net operating loss carryforwards and $78 thousand of state net operating loss carryforwards, $901 thousand in R&amp;D credit
    carryforwards, and no state tax credit carryforwards.&#160; Foreign loss before taxes was $404 thousand and $468 thousand in 2021 and 2020, respectively.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred income taxes arise from temporary differences between the tax basis of assets and liabilities and their reported amounts in the Consolidated
    Financial Statements.&#160; Our deferred tax assets and liabilities were comprised of the following:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
          <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred tax assets:</div>
        </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Federal net operating losses</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,976</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Foreign net operating losses</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">624</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">563</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Depreciation</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">306</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">302</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inventory reserves</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">710</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">719</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred revenue</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">24</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">47</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Warranty reserve</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">22</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">31</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Stock compensation expense</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">796</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">731</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other accrued compensation</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">308</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">388</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">R&amp;D credit carryforward</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">901</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">460</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other liabilities and reserves</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">250</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">394</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gross deferred tax assets</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,917</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,635</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Valuation allowance</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(733</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(659</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -18pt; margin-left: 45pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net deferred tax assets</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,184</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,976</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred tax liabilities:</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">43</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">37</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net deferred tax liabilities</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">43</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">37</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total net deferred tax assets</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,141</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,939</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br/>
  </div>

<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">As of December 31, 2021, a valuation allowance
    of $733 thousand has been established for foreign net operating loss carryforwards that are not expected to be used. The following table
    summarizes the activity recorded in the valuation allowance on the deferred tax assets:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, beginning of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">659</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">444</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Additions charged to income tax provision</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">74</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">215</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, end of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">733</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">659</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Differences between the U.S. statutory federal income tax rate and our effective income tax rate are analyzed below:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Federal statutory rate</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">21.0</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">21.0</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">PPP loan forgiveness</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7.4</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">R&amp;D credit</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7.1</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4.2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Stock award excess tax benefit</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.3</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.3</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">State income taxes, net of federal income taxes</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.1</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">U.S. corporate tax rate change</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9.5</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Business meals and entertainment</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.1</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Miscellaneous permanent items</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.3</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Uncertain tax positions</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.4</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Stock option cancellations</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.6</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.5</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Valuation allowance and tax accruals</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1.2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2.6</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.1</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.3</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Effective tax rate</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">33.3</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">31.1</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>

<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We had $144 thousand and $121 thousand of total gross unrecognized tax benefits at December 31, 2021
    and 2020, respectively that, if recognized, would favorably affect the effective income tax rate in any future periods.&#160; We are not aware of
    any events that could occur within the next twelve months that could cause a significant change in the total amount of unrecognized tax benefits.&#160; A tabular reconciliation of the gross amounts of unrecognized tax benefits at the beginning and end of
    the year is as follows:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, beginning of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">121</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">107</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Tax positions taken during the current period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">47</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">41</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Lapse of statute of limitations</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(24</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(27</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, end of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">144</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">121</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We expect $28 thousand of
    the $144 thousand of unrecognized tax benefits will reverse in 2022 upon the expiration of the statute of limitations.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We recognize interest and penalties related to uncertain tax positions in the income tax provision.&#160; We have accrued interest and
    penalties related to uncertain tax positions of $20 thousand and $19 thousand as of December 31, 2021 and 2020, respectively.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We are subject to U.S. federal income tax as well as income tax of certain state and foreign jurisdictions.&#160; We have substantially
    concluded all U.S. federal income tax, state and local, and foreign tax matters through 2017.&#160; However, our federal tax returns for the years 2018 through 2021 remain open to examination. Various state and foreign tax jurisdiction tax years remain open
    to examination as well, though we believe that any additional assessment would be immaterial to the Consolidated Financial Statements.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="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 50<br> -Paragraph 21<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32857-109319<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 S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330215-122817<br><br>Reference 3: 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 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<br><br>Reference 4: 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.5.Q1)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: 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 14<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32705-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 270<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6424409&amp;loc=d3e44925-109338<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI http://asc.fasb.org/topic&amp;trid=2144680<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 9: 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)(2))<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_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<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="idm140549275616872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per share<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_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 );">Earnings per share</a></td>
<td class="text">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">12. Earnings per share</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Earnings per share was computed as follows (in thousands, except per share amounts):</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net loss</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(4,145</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(5,630</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Shares:</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Basic:&#160; Weighted average common shares outstanding</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9,298</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,827</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Add:&#160; Dilutive effect of outstanding equity awards as determined by the treasury stock
              method</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Diluted:&#160; Weighted average common and common equivalent shares outstanding</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9,298</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,827</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net loss per common share:</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Basic</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.45</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.72</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Diluted</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.45</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.72</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>


</table>

<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The computation of diluted earnings per share excludes the effect of the potential exercise of stock awards, including stock options,
    restricted stock units and performance stock awards, when the average market price of the common stock is lower than the exercise price of the related stock award during the period.&#160; These outstanding stock awards are not included in the computation of
    diluted earnings per share because the effect would be anti-dilutive.&#160; Furthermore, in periods when a net loss is reported, such as 2021 and 2020, basic and diluted net loss per common share are calculated using the same method.&#160; Anti-dilutive stock
    awards excluded from the computation of earnings per dilutive share were 391,000 and 1,284,000 at December 31, 2021 and 2020, respectively.</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>33
<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="idm140549275667448">
<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">12 Months Ended</th>
</tr>
<tr><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_EquityAbstract', window );"><strong>Stock repurchase program [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_TreasuryStockTextBlock', window );">Stock repurchase program</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">13. Stock repurchase program</div>

<div style="text-align: justify; line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We use the cost method to account for treasury stock purchases, under which the price paid for the stock is charged to the treasury
    stock account.&#160; Repurchases of our common stock are accounted for as of the settlement date.&#160; During 2021 and 2020, we did not repurchase any shares of
    our common stock.&#160; From January 1, 2005 through December 31, 2019, we repurchased a total of 4,044,842 shares of common stock for $32.1 million, at an average price of $7.94 per
    share.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_TreasuryStockTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of 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 30<br> -URI http://asc.fasb.org/subtopic&amp;trid=2208821<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_TreasuryStockTextBlock</td>
</tr>
<tr>
<td style="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>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="idm140549275768328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Geographic area information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_SegmentReportingAbstract', window );"><strong>Geographic area information [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_SegmentReportingDisclosureTextBlock', window );">Geographic area information</a></td>
<td class="text">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">14. Geographic area information</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Information regarding our operations by geographic area is contained in the following table.&#160; These amounts in the geographic area table are
    based on the location of the customer and asset.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net sales:</div>
        </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">United States</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">32,400</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">24,733</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,986</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,862</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">39,386</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">30,595</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Fixed assets, net:</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">United States</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,770</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,079</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">914</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">871</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,684</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,950</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Sales to international customers were 18%
    and 19% of total sales in 2021 and
    2020, respectively.&#160; Sales to Europe represented 53%
    and 45%, sales to the Pacific Rim (which includes Australia and Asia) represented 35% and 45%, and sales to Canada represented 11% and 8%&#160; of total international sales in 2021 and 2020, respectively.&#160; International
    long-lived assets consist of net fixed assets located at our foreign subsidiary in the UK as well as our contract manufacturers in China, Thailand, Malaysia and Mexico.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="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 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 34<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8981-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 21<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8721-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 40<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9031-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 (f)<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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<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 26<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8844-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 41<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-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 32<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8933-108599<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 22<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8736-108599<br><br>Reference 11: 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 12: 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 15<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8657-108599<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 21<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8721-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -URI http://asc.fasb.org/topic&amp;trid=2134510<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_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<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="idm140549358670648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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_LeasesAbstract', window );"><strong>Leases [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_LesseeOperatingLeasesTextBlock', window );">Leases</a></td>
<td class="text">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">15. Leases</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Operating lease expense was $</span>1.0<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> million for both years ended December 31, </span>2021<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> and </span>2020<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> and is reported as </span>&#8220;Cost of sales,&#8221; &#8220;Engineering, design and product development expense,&#8221; &#8220;Selling and
    marketing expense,&#8221; and &#8220;General and administrative expense&#8221; in the Consolidated Statements of Operations.&#160; <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Operating costs include short-term lease costs, which were
      immaterial during the period.</span></div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following information represents supplemental disclosure for the statement of cash flows related to operating leases (in thousands):</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Operating cash outflows from leases</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">982</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,040</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following summarizes additional information related to our leases as of December 31, 2021:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Weighted average remaining lease term (in years)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3.5</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4.9</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Weighted average discount rate</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4.4</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4.1</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

  </tr>


</table>

<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The maturity of the Company&#8217;s operating lease liabilities as of December 31, 2021 are as follows (in thousands):</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; width: 78%;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 78%; background-color: rgb(204, 238, 255);" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2022</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; background-color: rgb(204, 238, 255);" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">886</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 78%;" valign="bottom">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2023</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">721</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 78%; background-color: rgb(204, 238, 255);" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2024</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; background-color: rgb(204, 238, 255);" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">721</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 78%;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2025</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">426</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 78%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2026</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">23</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 78%;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total undiscounted lease payments</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,777</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 78%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Less imputed interest</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">207</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 78%; padding-bottom: 4px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total lease liabilities</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,570</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="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> -URI http://asc.fasb.org/subtopic&amp;trid=77888251<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_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<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="idm140549275790296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Quarterly results of operations (unaudited)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_QuarterlyFinancialInformationDisclosureAbstract', window );"><strong>Quarterly results of operations (unaudited) [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_QuarterlyFinancialInformationTextBlock', window );">Quarterly results of operations (unaudited)</a></td>
<td class="text">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">16. Quarterly results of operations (unaudited)</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our quarterly results of operations for 2021 and 2020 are as follows:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Quarter Ended</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands, except per share amounts)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">March 31</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">June 30</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">September 30</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021:</div>
        </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net sales</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8,301</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9,325</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10,637</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11,123</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gross profit</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,189</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,325</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,317</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,418</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net (loss) income</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2,206</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2,114</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">910</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(735</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net (loss) income per common share:</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Basic</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.25</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.24</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.10</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.07</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Diluted</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.25</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.24</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.09</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.07</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020:</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net sales</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10,247</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,285</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,300</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,763</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gross profit</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,918</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,290</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,349</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,372</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net loss</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(992</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1,853</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(867</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1,918</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net loss per common share:</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Basic</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.13</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.25</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.11</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.22</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Diluted</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.13</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.25</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.11</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.22</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </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_QuarterlyFinancialInformationDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_QuarterlyFinancialInformationDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_QuarterlyFinancialInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.</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 270<br> -URI http://asc.fasb.org/topic&amp;trid=2126967<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -URI http://asc.fasb.org/extlink&amp;oid=124502072&amp;loc=SL124452896-108306<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_QuarterlyFinancialInformationTextBlock</td>
</tr>
<tr>
<td style="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>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="idm140549275727288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent events<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_SubsequentEventsAbstract', window );"><strong>Subsequent events [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_SubsequentEventsTextBlock', window );">Subsequent events</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">17. Subsequent events</div>

<div style="text-align: justify; line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Company has evaluated all events or transactions that occurred up to the date the consolidated financial statements were available to
    issue.&#160; Based upon this review, the Company did not identify any subsequent events that would have required adjustment or disclosure in the consolidated financial statements.</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_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-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_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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.</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 855<br> -URI http://asc.fasb.org/topic&amp;trid=2122774<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6842918&amp;loc=SL6314017-165662<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_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="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>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="idm140549274055992">
<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">12 Months Ended</th>
</tr>
<tr><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_AccountingPoliciesAbstract', window );"><strong>Summary of significant 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_ConsolidationPolicyTextBlock', window );">Principles of consolidation</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Principles of
      consolidation: </span>The accompanying Consolidated Financial Statements include the accounts of TransAct and its wholly-owned subsidiaries, which require consolidation, after the elimination of intercompany accounts, transactions and unrealized
    profit. </div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of estimates</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Use of estimates</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">:</span> The preparation of Consolidated Financial Statements in conformity with accounting principles generally accepted in the United States of America
    (&#8220;GAAP&#8221;) requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities, revenue and expenses, and disclosure of contingent assets and liabilities as of the date of the Consolidated Financial Statements
    and the reported amounts of sales and expenses during the reporting period. Actual results could differ from those estimates.</div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingPolicyPolicyTextBlock', window );">Segment reporting</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Segment reporting</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">: </span>We apply the provisions of the Financial Accounting Standards Board (&#8220;FASB&#8221;) Accounting Standards Codification (&#8220;ASC&#8221;) 280, &#8220;Segment Reporting.&#8221;&#160; We
    view our operations and manage our business as one segment: the design, development and marketing of software-driven technology and printing
    solutions and providing printer and terminal related software, services, supplies and spare parts.&#160; Factors used to identify TransAct&#8217;s single operating segment include the organizational structure of the Company and the financial information available
    for evaluation by the chief operating decision-maker in making decisions about how to allocate resources and assess performance.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and cash equivalents</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Cash and cash equivalents</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">:</span> We consider all highly liquid investments with a maturity date of three months or less at date of purchase to be cash equivalents.</div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy', window );">Allowance for doubtful accounts</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Allowance for
      doubtful accounts</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">:</span> We establish an allowance for doubtful accounts to ensure trade receivables are valued appropriately.&#160; We maintain an
    allowance for doubtful accounts based on a variety of factors, including the length of time receivables are past due, significant one-time events and historical experience.&#160; We record a specific allowance for individual accounts when we become aware of
    a customer&#8217;s inability to meet its financial obligations, such as in the case of bankruptcy filings or deterioration in the customer&#8217;s operating results or financial position.&#160; If circumstances related to customers change, we further adjust estimates
    of the recoverability of receivables.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following table summarizes the activity recorded in the valuation account for accounts receivable:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, beginning of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">220</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">221</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Additions charged to costs and expenses</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deductions</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, end of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">219</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">220</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</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_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Inventories:</span> Inventories are
    stated at the lower of cost (principally standard cost, which approximates actual cost on a first-in, first-out basis) or net realizable value.&#160; We review net realizable value based on estimated selling prices in the ordinary course of business less
    estimated costs of completions, disposal and transportation, historical usage and estimates of future demand.&#160; Based on these reviews, inventory write-downs are recorded, as necessary, to reflect estimated obsolescence, excess quantities and net
    realizable value.</div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Fixed assets</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Fixed assets:</span> Fixed assets are
    stated at cost.&#160; Depreciation is recorded using the straight-line method over the estimated useful lives.&#160; The estimated useful life of tooling is five years;
    machinery and equipment is ten years; furniture and office equipment is five years to ten years; and computer software and equipment is three years to seven years.&#160; Leasehold
    improvements are amortized over the shorter of the term of the lease or the useful life of the asset.&#160; Costs related to repairs and maintenance are expensed as incurred.&#160; The costs of sold or retired assets are removed from the related asset and
    accumulated depreciation accounts and any gain or loss is recognized.&#160; Depreciation expense was $0.7 million and $1.0 million in 2021 and 2020, respectively.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeLeasesPolicyTextBlock', window );">Leases</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Leases:</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> We account for leases in accordance with ASC 842, &#8220;Leases&#8221; (&#8220;ASC 842&#8221;), which </span>requires lessees to apply a dual approach, classifying leases as either finance or operating leases based on
    the principle of whether or not the lease is effectively a financed purchase by the lessee. This classification determines whether lease expense is recognized based on an effective interest method for finance leases or on a straight-line basis over the
    term of the lease for operating leases. A lessee is also required to record a right-of-use asset and a lease liability for all leases with a term of greater than 12 months regardless of their classification.&#160; Leases with a term of 12 months or less are
    accounted for based on existing guidance for operating leases.&#160; If risks and rewards are conveyed without the transfer of control, the lease is treated as financing. If the lessor does not convey risks and rewards or control, the lease is treated as
    operating.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We have elected certain practical expedients available under ASC 842 upon adoption. We have applied the practical expedient for
    short-term leases. We have lease agreements that include lease and non-lease components, and we have not elected the practical expedients to combine these components for any of our leases.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We enter into lease agreements for the use of real estate space and certain equipment under operating leases and we have no financing
    leases. We determine if an arrangement contains a lease at inception. Our leases are included in &#8220;Right-of-use asset&#8221; and &#8220;Lease liability&#8221; in our Consolidated Balance Sheets.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Right of use assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to
    make lease payments arising from the lease. Lease right of use assets and liabilities are recognized at the commencement date of the lease based on the present value of lease payments over the lease term. On February 28, 2020, we entered into an
    amendment to extend the lease on our facility in Ithaca, New York, which resulted in recording an additional right-of-use-asset and lease liability of $1.5
    million.&#160; The lease, which was last amended on January 14, 2016, was scheduled to expire on May 31, 2021.&#160; The lease amendment provides for an extension of the lease for <span style="-sec-ix-hidden:Fact_0a53edda34ca481aa7934ea4ab7d186a">four</span> additional years from June 1, 2021 to May 31, 2025.&#160; On April 30, 2021, we entered into an amendment to modify the expiration date of our lease on our Hamden, CT facility.&#160; The lease, which
    was last amended on January 3, 2017, was scheduled to expire on April 30, 2027.&#160; The lease amendment modified the expiration date to October 31, 2025.&#160; The modification resulted in reducing the right-of-use-asset and lease liability by $0.3 million.&#160; Lease expense is recognized on a straight-line basis over the lease term.&#160; As most of our leases do not provide an implicit rate, the
    Company determines its incremental borrowing rate by using the rate of interest that the Company would have to pay to borrow on a collateralized basis over a similar term, an amount equal to the lease payments in a similar economic environment.&#160; Our
    lease right of use asset excludes lease incentives. Our leases have remaining lease terms of one year to five years, some of which include options to extend.&#160; The exercise of lease renewal options is at our sole discretion and our lease right of use assets and liabilities reflect only
    the options we are reasonably certain that we will exercise. Lease expense is recognized on a straight-line basis over the lease term.</div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock', window );">Goodwill and Intangible assets</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Goodwill and
      Intangible assets</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">:</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> We acquire businesses in purchase
      transactions that result in the recognition of goodwill and intangible assets. The determination of the value of intangible assets requires management to make estimates and assumptions. In accordance with ASC 350-20 &#8220;Goodwill,&#8221; acquired goodwill is
      not amortized but is subject to impairment testing at least annually and when an event occurs or circumstances change that indicate it is more likely than not an impairment exists.&#160; </span>We perform a fair value-based impairment test to the
    carrying value of goodwill and indefinite-lived intangible assets on an annual basis (as of December 31) and, if certain events or circumstances indicate that an impairment loss may have been incurred, on an interim basis.&#160; The Company utilizes the
    option to first assess qualitative factors to determine whether it is necessary to perform the Step 1 quantitative goodwill impairment test in accordance with the applicable accounting standards. Under the qualitative assessment, management considers
    relevant events and circumstances including but not limited to macroeconomic conditions, industry and market considerations, Company performance and events directly affecting the Company. If the Company determines that the Step 1 quantitative
    impairment test is required, management estimates the fair value of the reporting unit primarily using the income approach, which reflects management&#8217;s cash flow projections, and also evaluates the fair value using the market approach. <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Factors considered that may trigger an interim period impairment review of either acquired goodwill or intangible assets are: significant underperformance relative to expected
      historical or projected future operating results; significant changes in the manner of use of acquired assets or the strategy for the overall business; significant negative industry or economic trends; and significant decline in market capitalization
      relative to net book value. Finite lived intangible assets are amortized and are tested for impairment when appropriate.</span></div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">As of December 31, 2021, we have determined that no goodwill or intangible asset impairment has occurred and the fair value of goodwill was substantially higher than our carrying value based on our assessment as of December 31, 2021 when our annual review for impairment was performed.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue recognition</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; margin-bottom: 8pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Revenue
      recognition:</span> We account for revenue in accordance with ASC Topic 606: Revenue from Contracts with Customers.&#160; In accordance with ASC 606, a performance obligation is a promise in a contract with a customer to transfer a distinct good or
    service to the customer. Some of our contracts with customers contain a single performance obligation, while other contracts contain multiple performance obligations (most commonly when contracts include a hardware product, software and extended
    warranties).&#160; A contract&#8217;s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.</div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The transaction price is determined based on the consideration to which the Company will be entitled in exchange for transferring
    services to the customer.&#160; To the extent the transaction price includes variable consideration, such as price protection, reserves for returns and other allowances, the Company estimates the amount of variable consideration that should be included in
    the transaction price utilizing either the &#8220;expected value&#8221; method or the &#8220;most likely amount&#8221; method depending on the nature of the variable consideration.&#160; Variable consideration is included in the transaction price if, in the Company&#8217;s judgment, it
    is probable that a significant future reversal of cumulative revenue under the contract will not occur.</div>

<div style="text-align: justify; line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">For a majority of our revenue, which consists of printers, terminals, consumables, and replacement parts, the Company recognizes
    revenue as of a point of time.&#160; The transaction price is recognized upon shipment of the order when control of the goods is transferred to the customer and at the time the performance obligation is fulfilled.&#160; We also sell a software solution in our
    casino and gaming market, EPICENTRAL, that enables casino operators to create promotional coupons and marketing messages and to print them in real time at the slot machine.&#160; EPICENTRAL is primarily comprised of both a software component, which is
    licensed to the customer, and a hardware component.&#160; EPICENTRAL software and hardware are integrated to deliver the system&#8217;s full functionality.&#160; The transaction prices from EPICENTRAL software license and hardware are recognized upon installation and
    formal acceptance by the customer when control of the license is transferred to the customer.&#160; For out-of-warranty repairs, the transaction price is recognized after the repair work is completed and the printer or terminal is returned to the customer,
    as control of the product is transferred to the customer and our performance obligation is completed.</div>

<div style="text-align: justify; line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Performance obligations are satisfied over time if the customer receives the benefits as we perform work, if the customer controls the
    asset as it is being produced, or if the product being produced for the customer has no alternative use and we have a contractual right to payment.&#160; For our separately priced extended warranty, BOHA! cloud-based software applications, technical support
    for our food service technology terminals and maintenance agreements (including free one-year maintenance received by customers upon completion
    of EPICENTRAL installation) revenue is recognized over time as the customer receives the benefit.&#160; The transaction price from the maintenance services is recognized ratably over time, using output methods, as control of the services is transferred to
    the customer.&#160; Our cloud-based BOHA! software allows customers to use hosted software over the contract period on a subscription basis without taking possession of the software and the subscription price is recognized ratably over the contract period.&#160;
    For extended warranties, the transaction price is recognized ratably over the warranty period, using output methods, as control of the services is transferred to the customer.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">When there is more than one performance obligation in a customer arrangement, the Company typically uses the &#8220;standalone selling price&#8221;
    method to determine the transaction price to allocate to each performance obligation. The Company sells the performance obligations separately and has established standalone selling prices for its products and services. In the case of an overall price
    discount, the discount is applied to each performance obligation proportionately based on standalone selling price. To determine the standalone selling price for initial EPICENTRAL installations, the Company uses the adjusted market assessment
    approach.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">For contracts with terms of less than 12 months, the Company expenses sales commissions as they are incurred, since the expected
    amortization period of the cost to obtain a contract is less than 12 months.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Disaggregation of revenue</div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following table disaggregates our revenue by market type, as we believe it best depicts how the nature, amount, timing and uncertainty of
    our revenue and cash flows are affected by economic factors.&#160; Sales and usage-based taxes are excluded from revenues.</div>

<div style="line-height: 11.05pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31, 2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">(In thousands)</span></div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">United States</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Food service technology</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11,738</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">887</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12,625</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">POS automation</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,817</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,825</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Casino and gaming</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10,173</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,129</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15,302</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Printrex</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">171</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">460</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">631</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct Services Group</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,501</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">502</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,003</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 4px;" valign="bottom">
          <div style="text-align: left; margin-left: 16.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total net sales</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">32,400</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,986</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">39,386</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="line-height: 12.3pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31, 2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">(In thousands)</span></div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">United States</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Food service technology</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,956</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">778</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,734</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">POS automation</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,763</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,770</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Casino and gaming</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,852</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,127</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10,979</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Lottery</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">817</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">817</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Printrex</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">83</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">217</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">300</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct Services Group</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,262</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">733</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,995</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 16.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total net sales</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">24,733</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,862</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">30,595</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="text-align: left; line-height: 14.75pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Contract balances</div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Contract assets consist of unbilled receivables.&#160; Pursuant to the over-time revenue recognition model, revenue may be recognized prior
    to the customer being invoiced. An unbilled receivable is recorded to reflect revenue that is recognized when such revenue exceeds the amount invoiced to the customer. Unbilled receivables are separated into current and non-current assets and included
    within &#8220;Accounts Receivable&#8221; and &#8220;Other Non-Current Assets&#8221; on the Consolidated Balance Sheets.&#160; We first recorded contract assets during 2020 upon the start of a long-term BOHA! contract.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Contract liabilities consist of customer prepayments and deferred revenue.&#160; Customer prepayments are reported as &#8220;Accrued Liabilities&#8221;
    in current liabilities in the Consolidated Balance Sheets and represent customer payments made in advance of performance obligations in instances where credit has not been extended and is recognized as revenue when the performance obligation is
    complete.&#160; Deferred revenue is reported separately in current liabilities and non-current liabilities and consists of our extended warranty contracts, technical support for our food service technology terminals, EPICENTRAL maintenance contracts and
    prepaid software subscriptions for our BOHA! software applications, and is recognized as revenue as (or when) we perform under the contract.&#160; The increase in current and non-current deferred revenue in 2021 compared to 2020 was primarily due to
    increased BOHA! software subscriptions and increased extended warranty contracts on our BOHA! hardware products.&#160; During the year ended December 31, 2021,
    we recognized revenue of $0.7 million related to our contract liabilities as of December 31, 2020. </div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net contract (liabilities) assets consist of the following:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">(In thousands)</span></div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Unbilled receivables, current</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">314</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">290</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Unbilled receivables, non-current</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">308</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">591</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Customer pre-payments</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(99</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(216</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred revenue, current</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(805</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(504</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred revenue, non-current</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(186</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(111</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net contract (liabilities) assets</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(468</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">50</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="text-align: justify; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Remaining performance obligations</div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Remaining performance obligations represent the transaction price of firm orders for which a good or service has not been delivered to
    our customer.&#160; As of December 31, 2021, the aggregate amount of the transaction price allocated to remaining performance obligations was $10.5 million.&#160; The Company expects to recognize revenue on $10.1
    million of our remaining performance obligations within the next 12 months and $0.4 million within the next <span style="-sec-ix-hidden:Fact_0fb767fdbb19460d8f1b18e429c9fbeb">24</span> months.</div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Concentration of credit risk</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Concentration of credit
      risk:</span>&#160; Financial instruments that potentially expose us to concentrations of credit risk are limited to cash and cash equivalents held by our banks in excess of insured limits and accounts receivable.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accounts receivable from customers representing 10% or more of total accounts receivable were as follows:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Chain Link Services</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International Gaming Technology (&#8220;IGT&#8221;)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">NCR Corporation</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Sales to customers representing 10% or more of total net sales were as follows:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">IGT</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </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_StandardProductWarrantyPolicy', window );">Warranty</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Warranty:</span> We generally warrant our
    products for up to 24 months and record the estimated cost of such product warranties at the time the sale is recorded.&#160; Estimated warranty
    costs are based upon actual past experience of product repairs and the related estimated cost of labor and material to make the necessary repairs.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following table summarizes the activity recorded in the accrued product warranty liability:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, beginning of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">140</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">215</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Warranties issued</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">44</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">56</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Warranty settlements</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(83</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(131</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, end of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">140</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$79 thousand and $112 thousand of the accrued product warranty liability was classified as current in Accrued liabilities at December 31, 2021 and 2020, respectively.&#160; The remaining
    $22 thousand and $28 thousand of the
    accrued product warranty liability as of December 31, 2021 and 2020, respectively, was classified as long-term in Other liabilities.</div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpensePolicy', window );">Engineering, design and product development</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Engineering,



      design and product development:</span> Engineering, design and product development expenses include expenses incurred in connection with specialized engineering and design to introduce new products and to customize existing products, and are expensed
    as a component of operating expenses as incurred.&#160; We recorded $7.5 million and $5.7 million of research and development expenses in 2021 and 2020, respectively.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Costs incurred in the engineering, design and product development of a computer software product are charged to expense until
    technological feasibility has been established, at which point all material software costs are capitalized within Intangible assets in our Consolidated Balance Sheet until the product is available for general release to customers.&#160; While judgment is
    required in determining when technological feasibility of a product is established, we have determined that it is reached after all high-risk development issues have been documented in a formal detailed plan design.&#160; The amortization of these costs
    have been included in cost of sales over the estimated life of the product.&#160; During 2019, we contracted several third-parties to develop software for our food service technology products, the cost for which we capitalized.&#160; Unamortized development
    costs for such software were $396 thousand as of December 31, 2021.&#160; The total amount charged to cost of sales for capitalized software development costs was $154
    thousand and $153 thousand in 2021
    and 2020, respectively.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdvertisingCostsPolicyTextBlock', window );">Advertising</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Advertising:</span> Advertising costs are
    expensed as incurred.&#160; Advertising expenses, which are included in selling and marketing expense on the accompanying Consolidated Statements of Operations, for 2021 and 2020 totaled $1.8 million and $0.7 million, respectively. These expenses include items such as
    consulting and professional services, tradeshows, and print advertising.</div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income taxes</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Income taxes:</span> The income tax
    amounts reflected in the accompanying Consolidated Financial Statements are accounted for under the liability method in accordance with ASC 740, &#8220;Income Taxes&#8221; (&#8220;ASC 740&#8221;).&#160; Deferred tax assets and liabilities are recognized for the estimated future
    tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards.&#160; Deferred tax assets and liabilities are
    measured using enacted tax rates in effect for the year in which those temporary differences are expected to be recovered or settled.&#160; We assess the likelihood that net deferred tax assets will be realized from future taxable income, and to the extent
    that we believe that realization is not likely, we establish a valuation allowance.&#160; In accordance with ASC 740, we identified, evaluated and measured the amount of benefits to be recognized for our tax return positions. </div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign currency translation</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Foreign currency
      translation:</span> The financial position and results of operations of our foreign subsidiary in the UK are measured using local currency as the functional currency.&#160; Assets and liabilities of such subsidiary have been translated into U.S. dollars
    at the year-end exchange rate, related sales and expenses have been translated at the exchange rate as of the date the transaction was recognized, and shareholders&#8217; equity has been translated at historical exchange rates.&#160; The resulting translation
    gains or losses, net of tax, are recorded in shareholders&#8217; equity as a cumulative translation adjustment, which is a component of accumulated other comprehensive income and loss.&#160; Foreign currency transaction gains and losses, including those related
    to intercompany balances, are recognized in Other, net on the Consolidated Statements of Operations.</div>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Share-based payments</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Share-based payments:</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">&#160;</span>At December 31, 2021, we have share-based
    employee compensation plans, which are described more fully in Note 10 - Stock incentive plans.&#160; We account for those plans under the recognition and measurement principles of ASC 718, &#8220;Compensation &#8211; Stock Compensation.&#8221;&#160; Share-based compensation
    expense is measured at the grant date, based on the estimated fair value of the award, and is recognized as expense over the employee&#8217;s requisite service period.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We use the Black-Scholes option-pricing model to calculate the fair value of share-based awards.&#160; The key assumptions for this
    valuation method include the expected term of the option, stock price volatility, risk-free interest rate, dividend yield, market price of our underlying stock and exercise price.&#160; Many of these assumptions require judgment and are highly sensitive in
    the determination of compensation expense.&#160; Forfeitures are recognized as they occur.</div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Net income and loss per share</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Net loss per
      share:</span> We report net income or loss per share in accordance with ASC 260, &#8220;Earnings per Share (EPS).&#8221; Under this guidance, basic EPS, which excludes dilution, is computed by dividing income or loss available to common shareholders by the
    weighted average number of common shares outstanding for the period.&#160; Diluted EPS reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock.&#160; Diluted EPS
    includes in-the-money stock options using the treasury stock method.&#160; During a loss period, the assumed exercise of in-the-money stock options has an anti-dilutive effect, and therefore, these instruments are excluded from the computation of diluted
    EPS.&#160; See Note 12 - Earnings per share.</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_AdvertisingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 advertising cost.</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 720<br> -SubTopic 35<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6420018&amp;loc=d3e36677-107848<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_AdvertisingCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates 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 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123431023&amp;loc=d3e4273-108586<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(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_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="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_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting.  The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</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 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123372394&amp;loc=d3e18823-107790<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 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=d3e5614-111684<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_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="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 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 2: http://fasb.org/us-gaap/role/ref/legacyRef<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_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</p></div>
<a href="javascript:void(0);" onclick="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 830<br> -URI http://asc.fasb.org/topic&amp;trid=2175825<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_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="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 30<br> -Section 50<br> -Paragraph 1<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_GoodwillAndIntangibleAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="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 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32247-109318<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 20<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32847-109319<br><br>Reference 3: 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 19<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32840-109319<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 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124431353&amp;loc=SL116659661-227067<br><br>Reference 5: 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 9<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e32280-109318<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 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32809-109319<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_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</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 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4556-108314<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 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 912<br> -SubTopic 330<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6471895&amp;loc=d3e55923-109411<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4492-108314<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=124437754&amp;loc=d3e543-108305<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI http://asc.fasb.org/topic&amp;trid=2126998<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123372394&amp;loc=d3e18823-107790<br><br>Reference 8: 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.6(b))<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_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 leasing arrangement entered into by lessee.</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 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918666-209980<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_LesseeLeasesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="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 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99779-112916<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.13(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=120391452&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 958<br> -SubTopic 360<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=120429125&amp;loc=d3e99893-112916<br><br>Reference 4: 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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 determining the allowance for doubtful accounts for trade and other accounts receivable balances, and when impairments, charge-offs or recoveries are 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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(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 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5144-111524<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_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy</td>
</tr>
<tr>
<td style="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_ResearchAndDevelopmentExpensePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 costs it has 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.</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 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_ResearchAndDevelopmentExpensePolicy</td>
</tr>
<tr>
<td style="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_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 revenue from contract with customer.</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 17<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130561-203045<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 20<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130566-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 18<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130563-203045<br><br>Reference 4: 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 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 20<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130566-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 18<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130563-203045<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123372394&amp;loc=d3e18823-107790<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 20<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130566-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 19<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130564-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 20<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130566-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_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="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_SegmentReportingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 segment reporting.</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 29<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8864-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 29<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8864-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 29<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8864-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 29<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8864-108599<br><br>Reference 6: 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 29<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8864-108599<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 29<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8864-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_SegmentReportingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</p></div>
<a href="javascript:void(0);" onclick="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 (b),(f)<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 1<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_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 standard warranties including the methodology for measuring the 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 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123368208&amp;loc=d3e12565-110249<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_StandardProductWarrantyPolicy</td>
</tr>
<tr>
<td style="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>39
<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="idm140549278942728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_AccountingPoliciesAbstract', window );"><strong>Summary of significant 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_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock', window );">Allowance for Doubtful Accounts</a></td>
<td class="text">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following table summarizes the activity recorded in the valuation account for accounts receivable:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, beginning of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">220</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">221</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Additions charged to costs and expenses</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deductions</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, end of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">219</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">220</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</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_DisaggregationOfRevenueTableTextBlock', window );">Disaggregation of Revenue</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following table disaggregates our revenue by market type, as we believe it best depicts how the nature, amount, timing and uncertainty of
    our revenue and cash flows are affected by economic factors.&#160; Sales and usage-based taxes are excluded from revenues.</div>

<div style="line-height: 11.05pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31, 2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">(In thousands)</span></div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">United States</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Food service technology</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11,738</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">887</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12,625</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">POS automation</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,817</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,825</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Casino and gaming</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10,173</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,129</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15,302</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Printrex</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">171</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">460</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">631</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct Services Group</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,501</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">502</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,003</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 4px;" valign="bottom">
          <div style="text-align: left; margin-left: 16.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total net sales</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">32,400</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,986</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">39,386</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="line-height: 12.3pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31, 2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">(In thousands)</span></div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">United States</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Food service technology</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,956</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">778</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,734</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">POS automation</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,763</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,770</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Casino and gaming</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,852</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,127</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10,979</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Lottery</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">817</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">817</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Printrex</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">83</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">217</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">300</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct Services Group</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,262</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">733</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,995</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; margin-left: 16.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total net sales</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">24,733</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,862</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">30,595</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</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_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Net Contract (Liabilities) Assets</a></td>
<td class="text">
<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net contract (liabilities) assets consist of the following:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">(In thousands)</span></div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Unbilled receivables, current</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">314</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">290</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Unbilled receivables, non-current</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">308</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">591</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Customer pre-payments</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(99</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(216</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred revenue, current</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(805</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(504</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred revenue, non-current</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(186</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(111</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net contract (liabilities) assets</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(468</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">50</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</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_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock', window );">Concentration of Credit Risk</a></td>
<td class="text">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accounts receivable from customers representing 10% or more of total accounts receivable were as follows:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Chain Link Services</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International Gaming Technology (&#8220;IGT&#8221;)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">NCR Corporation</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>

<div style="line-height: 10.25pt;"><br/>
  </div>

<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Sales to customers representing 10% or more of total net sales were as follows:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">IGT</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </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_ScheduleOfProductWarrantyLiabilityTableTextBlock', window );">Product Warranty Liability</a></td>
<td class="text">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following table summarizes the activity recorded in the accrued product warranty liability:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, beginning of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">140</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">215</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Warranties issued</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">44</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">56</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Warranty settlements</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(83</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(131</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, end of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">140</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</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_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_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_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</p></div>
<a href="javascript:void(0);" onclick="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 5<br> -URI http://asc.fasb.org/extlink&amp;oid=123351226&amp;loc=SL49130545-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_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 allowance for credit loss of financing 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=SL6953423-111524<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<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_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfProductWarrantyLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty 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 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=123368208&amp;loc=d3e12565-110249<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_ScheduleOfProductWarrantyLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="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_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.</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 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI http://asc.fasb.org/extlink&amp;oid=123594938&amp;loc=d3e13537-108611<br><br>Reference 2: 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 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 20<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br><br>Reference 4: 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 16<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6327-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 18<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-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 21<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6442-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_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>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="idm140549275670968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_InventoryDisclosureAbstract', window );"><strong>Inventories [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_ScheduleOfInventoryCurrentTableTextBlock', window );">Inventories</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The components of inventories are:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Raw materials and purchased component parts</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,479</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,467</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Work-in-process</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Finished goods</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,230</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,819</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,720</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11,286</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</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_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</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(6)(c))<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 S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<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 S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<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 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<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_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="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>41
<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="idm140549275713112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fixed assets, net (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_PropertyPlantAndEquipmentAbstract', window );"><strong>Fixed assets, net [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_PropertyPlantAndEquipmentTextBlock', window );">Fixed Assets, Net</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The components of fixed assets, net are:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Tooling, machinery and equipment</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,694</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9,508</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Furniture and office equipment</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,660</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,706</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Computer software and equipment</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,973</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,364</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Leasehold improvements</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,872</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,873</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">18,199</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">21,451</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Less: Accumulated depreciation and amortization</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(16,736</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(19,979</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,463</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,472</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Construction in-process</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,221</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">478</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,684</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,950</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</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_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="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(13))<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<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="idm140549275726728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible assets, net (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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>Intangible assets, net [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 );">Identifiable Intangible Assets</a></td>
<td class="text">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Identifiable intangible assets are recorded in Intangible assets, net in the accompanying Consolidated Balance Sheets and are comprised of the following:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt;"><span style="line-height: 10.25pt;">&#160;</span></div>
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gross Amount</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accumulated Amortization</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gross Amount</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accumulated Amortization</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Purchased technology</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,591</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1,195</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,526</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1,975</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Customer relationships</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,300</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1,300</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Trademark</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">480</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(450</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Covenant not to compete</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">146</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(146</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Patents</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(14</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">56</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(54</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">80</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(80</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,606</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1,209</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,588</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(4,005</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<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="idm140549275774376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_PayablesAndAccrualsAbstract', window );"><strong>Accrued liabilities [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_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Accrued Liabilities</a></td>
<td class="text">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The components of accrued liabilities are:</div>

<div style="text-align: left; line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Salaries and compensation related</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,854</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,328</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Warranty</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">79</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">112</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Professional and consulting</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">285</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">257</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">676</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">968</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,894</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,665</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</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_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 components of accrued 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_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>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="idm140549278498712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock incentive plans (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Stock incentive plans [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_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Assumptions Used in Option Valuation Calculations</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The table below indicates the key assumptions used in the option valuation calculations for options granted in 2021 and 2020 and a discussion of our
    methodology for developing each of the assumptions used in the valuation model:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Expected option term (in years)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6.9</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7.0</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Expected volatility</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">50.5</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">41.7</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Risk-free interest rate</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1.2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.9</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Dividend yield</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.0</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.0</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </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_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Stock Option Activity</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Equity award activity in the 2005 Equity Incentive Plan and the 2014 Equity Incentive Plan is summarized below:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Stock Options</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Restricted Stock Units</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Number of Shares</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> Average Price*</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Number of Units</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Average Price**</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Outstanding at December 31, 2020</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,287,605</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8.98</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">110,550</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10.30</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Granted</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">153,000</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10.55</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">95,200</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10.27</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Exercised</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(97,000</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8.47</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(50,525</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10.29</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Forfeited</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(45,750</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8.87</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Expired</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(28,500</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10.22</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Outstanding at December 31, 2021</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,269,355</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9.18</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">155,225</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10.28</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">*</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">weighted average exercise price per share</div>
        </td>

  </tr>


</table>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">**</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">weighted average grant stock price per share</div>
        </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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock', window );">Equity Awards Vested and Expected to Vest</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following summarizes information about equity awards outstanding that are vested and expect to vest and equity awards that are exercisable at
    December 31, 2021:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Equity Awards Vested and Expected to Vest</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Equity Awards That Are Exercisable</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Awards</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Average Price*</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Aggregate Intrinsic Value</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Remaining Term**</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Awards</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Average Price*</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Aggregate Intrinsic Value</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Remaining Term**</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 20%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Stock Options</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,269,355</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9.18</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,662</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5.6</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">856,723</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9.00</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,982</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4.1</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 20%;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Restricted stock units</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">132,518</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,444</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2.2</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">*</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">weighted average exercise price per share</div>
        </td>

  </tr>


</table>

<table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">**</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">weighted-average contractual remaining term in years</div>
        </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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="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 (f)(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_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 number, weighted-average exercise price or conversion ratio, aggregate intrinsic value, and weighted-average remaining contractual term for outstanding and exercisable options that are fully vested and expected to vest. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="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 (e)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>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="idm140549280107016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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_IncomeTaxDisclosureAbstract', window );"><strong>Income taxes [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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Components of Income Tax Benefit</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The components of the income tax benefit are as follows:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Current:</div>
        </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Federal</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">26</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2,141</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">State</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">51</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">17</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Foreign</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(48</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">79</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2,172</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred:</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Federal</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2,086</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(483</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">State</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(62</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(36</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Foreign</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">152</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2,150</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(367</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Income tax benefit</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2,071</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2,539</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Deferred Tax Assets and Liabilities</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred income taxes arise from temporary differences between the tax basis of assets and liabilities and their reported amounts in the Consolidated
    Financial Statements.&#160; Our deferred tax assets and liabilities were comprised of the following:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
          <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred tax assets:</div>
        </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Federal net operating losses</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,976</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Foreign net operating losses</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">624</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">563</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Depreciation</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">306</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">302</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inventory reserves</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">710</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">719</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred revenue</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">24</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">47</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Warranty reserve</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">22</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">31</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Stock compensation expense</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">796</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">731</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other accrued compensation</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">308</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">388</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">R&amp;D credit carryforward</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">901</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">460</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other liabilities and reserves</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">250</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">394</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gross deferred tax assets</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,917</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,635</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Valuation allowance</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(733</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(659</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -18pt; margin-left: 45pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net deferred tax assets</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,184</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,976</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred tax liabilities:</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">43</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">37</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 36pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net deferred tax liabilities</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">43</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">37</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total net deferred tax assets</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,141</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,939</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</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_SummaryOfValuationAllowanceTextBlock', window );">Valuation Allowance on Deferred Tax Assets</a></td>
<td class="text">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">As of December 31, 2021, a valuation allowance
    of $733 thousand has been established for foreign net operating loss carryforwards that are not expected to be used. The following table
    summarizes the activity recorded in the valuation allowance on the deferred tax assets:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, beginning of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">659</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">444</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Additions charged to income tax provision</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">74</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">215</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, end of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">733</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">659</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Statutory to Effective Tax Rate Reconciliation</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Differences between the U.S. statutory federal income tax rate and our effective income tax rate are analyzed below:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Federal statutory rate</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">21.0</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">21.0</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">PPP loan forgiveness</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7.4</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">R&amp;D credit</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7.1</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4.2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Stock award excess tax benefit</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.3</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.3</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">State income taxes, net of federal income taxes</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.1</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">U.S. corporate tax rate change</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9.5</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Business meals and entertainment</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.1</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Miscellaneous permanent items</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.3</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Uncertain tax positions</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.4</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Stock option cancellations</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.6</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.5</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Valuation allowance and tax accruals</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1.2</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2.6</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Other</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.1</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.3</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Effective tax rate</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">33.3</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">31.1</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </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_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock', window );">Unrecognized Tax Benefits</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We had $144 thousand and $121 thousand of total gross unrecognized tax benefits at December 31, 2021
    and 2020, respectively that, if recognized, would favorably affect the effective income tax rate in any future periods.&#160; We are not aware of
    any events that could occur within the next twelve months that could cause a significant change in the total amount of unrecognized tax benefits.&#160; A tabular reconciliation of the gross amounts of unrecognized tax benefits at the beginning and end of
    the year is as follows:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, beginning of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">121</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">107</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Tax positions taken during the current period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">47</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">41</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Lapse of statute of limitations</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(24</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(27</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Balance, end of period</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">144</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">121</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 unrecognized tax benefits for which a material change is reasonably possible in the next twelve months, typically including the nature of the uncertainty, the event(s) that could cause a material change, and an estimate of the range of the reasonably possible change or a statement that an estimate of the range cannot be made. An unrecognized tax benefit is the difference between a tax position taken in a tax return and the amounts recognized in the financial statements for which it is more likely than not, based on the technical merits of the position, that the tax position will not be sustained upon examination.</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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32718-109319<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_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock</td>
</tr>
<tr>
<td style="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_SummaryOfValuationAllowanceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 valuation allowances to reduce deferred tax assets to net realizable value, including identification of the deferred tax asset more likely than not will not be fully realized and the corresponding amount of the valuation allowance.</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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<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_SummaryOfValuationAllowanceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>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="idm140549279969880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per share (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_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 );">Earnings per Share</a></td>
<td class="text">
<div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Earnings per share was computed as follows (in thousands, except per share amounts):</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net loss</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(4,145</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(5,630</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Shares:</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Basic:&#160; Weighted average common shares outstanding</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9,298</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,827</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Add:&#160; Dilutive effect of outstanding equity awards as determined by the treasury stock
              method</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8211;</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Diluted:&#160; Weighted average common and common equivalent shares outstanding</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9,298</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,827</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net loss per common share:</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Basic</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.45</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.72</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Diluted</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.45</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.72</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </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>47
<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="idm140549275756120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Geographic area information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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_SegmentReportingAbstract', window );"><strong>Geographic area information [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_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock', window );">Net Sales and Fixed Assets by Geographic Area</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Information regarding our operations by geographic area is contained in the following table.&#160; These amounts in the geographic area table are
    based on the location of the customer and asset.</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net sales:</div>
        </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">United States</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">32,400</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">24,733</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6,986</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,862</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">39,386</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">30,595</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Fixed assets, net:</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">United States</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,770</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,079</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">914</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">871</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,684</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,950</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</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_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 information concerning material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material.  An entity may also provide subtotals of geographic information about groups of countries.</p></div>
<a href="javascript:void(0);" onclick="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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e9038-108599<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.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_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<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="idm140549279654536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 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_LeasesAbstract', window );"><strong>Leases [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_tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock', window );">Cash Flows for Operating Leases</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following information represents supplemental disclosure for the statement of cash flows related to operating leases (in thousands):</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Operating cash outflows from leases</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">982</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,040</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</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_tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock', window );">Additional Information Related to Leases</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The following summarizes additional information related to our leases as of December 31, 2021:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Year Ended December 31,</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Weighted average remaining lease term (in years)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3.5</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4.9</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Weighted average discount rate</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4.4</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4.1</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
        </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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Maturity of Operating Lease Liabilities</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The maturity of the Company&#8217;s operating lease liabilities as of December 31, 2021 are as follows (in thousands):</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px; width: 78%;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31, 2021</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 78%; background-color: rgb(204, 238, 255);" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2022</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; background-color: rgb(204, 238, 255);" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">886</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 78%;" valign="bottom">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2023</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">721</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 78%; background-color: rgb(204, 238, 255);" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2024</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; background-color: rgb(204, 238, 255);" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">721</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 78%;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2025</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">426</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 78%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2026</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">23</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 78%;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total undiscounted lease payments</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,777</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 78%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Less imputed interest</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">207</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 78%; padding-bottom: 4px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Total lease liabilities</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom">
          <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,570</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</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_tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 information related to lessee's operating leases, including weighted average lease term and discount rate.</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;">tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 supplemental information for the statement of cash flows related to operating leases.</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;">tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="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 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>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="idm140549279871528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Quarterly results of operations (unaudited) (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_QuarterlyFinancialInformationDisclosureAbstract', window );"><strong>Quarterly results of operations (unaudited) [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_ScheduleOfQuarterlyFinancialInformationTableTextBlock', window );">Quarterly Results of Operations</a></td>
<td class="text">
<div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our quarterly results of operations for 2021 and 2020 are as follows:</div>

<div style="line-height: 10.25pt;"><br/>
  </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Quarter Ended</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">
          <div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">(In thousands, except per share amounts)</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">March 31</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">June 30</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">September 30</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
          <div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">December 31</div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2021:</div>
        </td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net sales</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8,301</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9,325</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10,637</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11,123</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gross profit</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,189</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,325</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,317</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,418</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net (loss) income</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2,206</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2,114</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">910</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(735</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net (loss) income per common share:</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Basic</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.25</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.24</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.10</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.07</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Diluted</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.25</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.24</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.09</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.07</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2020:</div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net sales</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10,247</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,285</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,300</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">7,763</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Gross profit</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,918</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,290</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,349</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,372</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net loss</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(992</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1,853</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(867</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1,918</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Net loss per common share:</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Basic</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.13</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.25</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.11</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.22</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 52%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Diluted</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.13</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.25</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.11</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(0.22</div>
          </div>
        </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
          <div style="line-height: 14.4pt;">
            <div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </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_QuarterlyFinancialInformationDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_QuarterlyFinancialInformationDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfQuarterlyFinancialInformationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.</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 270<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124502072&amp;loc=d3e1280-108306<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_ScheduleOfQuarterlyFinancialInformationTableTextBlock</td>
</tr>
<tr>
<td style="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>50
<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="idm140549272577976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Description of business (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Aug. 16, 2021 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Oct. 16, 2020 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($) </div>
<div>Solution </div>
<div>Manufacturer </div>
<div>Segment</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>May 01, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 13, 2020 </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_tact_DescriptionOfBusinessAbstract', window );"><strong>Description of business [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_NumberOfOperatingSegments', window );">Number of operating segments | Segment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_tact_NumberOfSoftwareSolutions', window );">Number of software solutions from the after-market side of the business | Solution</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_ExtraordinaryAndUnusualItemsAbstract', window );"><strong>Description of business [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_tact_NumberOfManufacturers', window );">Number of manufacturers in China and Thailand | Manufacturer</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from Public Offering</a></td>
<td class="nump">$ 11,200<span></span>
</td>
<td class="nump">$ 8,700<span></span>
</td>
<td class="nump">$ 12,214<span></span>
</td>
<td class="nump">$ 9,798<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_StockIssuedDuringPeriodSharesNewIssues', window );">Shares sold in Public Offering (in shares) | shares</a></td>
<td class="nump">842,375<span></span>
</td>
<td class="nump">1,380,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_tact_GainFromEmployeeRetentionCredit', window );">Gain from employee retention credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,500<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="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_DebtInstrumentAxis=tact_PaycheckProtectionProgramLoanMember', window );">PPP Loan [Member]</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_DebtInstrumentsAbstract', window );"><strong>Description of business [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtInstrumentFaceAmount', window );">Face amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,200<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_DebtInstrumentAxis=tact_RevolvingCreditFacilitySienaLendingGroupLlcMember', window );">Revolving Credit Facility [Member]</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_DebtInstrumentsAbstract', window );"><strong>Description of business [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_DescriptionOfBusinessAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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;">tact_DescriptionOfBusinessAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_GainFromEmployeeRetentionCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 gain from the Employee Retention Credit, a refundable tax credit against certain employment taxes equal to 50% of the qualified wages an eligible employer pays to employees after March 12, 2020, and before January 1, 2021.</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;">tact_GainFromEmployeeRetentionCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_NumberOfManufacturers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 manufacturers located in China and Thailand.</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;">tact_NumberOfManufacturers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_NumberOfSoftwareSolutions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 software solutions from the after-market side of the business.</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;">tact_NumberOfSoftwareSolutions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_us-gaap_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 (par) amount of debt instrument at time of issuance.</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 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124429444&amp;loc=SL124452920-239629<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI http://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI http://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<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_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DebtInstrumentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_DebtInstrumentsAbstract</td>
</tr>
<tr>
<td style="padding-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_ExtraordinaryAndUnusualItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_ExtraordinaryAndUnusualItemsAbstract</td>
</tr>
<tr>
<td style="padding-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_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</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(b),22(b))<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_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_NumberOfOperatingSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.</p></div>
<a href="javascript:void(0);" onclick="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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8672-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_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 from the additional capital contribution to the entity.</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 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_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 new stock issued 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 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 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(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_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-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_DebtInstrumentAxis=tact_PaycheckProtectionProgramLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_DebtInstrumentAxis=tact_PaycheckProtectionProgramLoanMember</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_DebtInstrumentAxis=tact_RevolvingCreditFacilitySienaLendingGroupLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_DebtInstrumentAxis=tact_RevolvingCreditFacilitySienaLendingGroupLlcMember</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>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="idm140549279871528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies, Segment reporting (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2021 </div>
<div>Segment</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NumberOfOperatingSegments', window );">Number of business segments</a></td>
<td class="nump">1<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfOperatingSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.</p></div>
<a href="javascript:void(0);" onclick="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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=123359005&amp;loc=d3e8672-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_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<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="idm140549275817944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies, Allowance for doubtful accounts (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_AllowanceForDoubtfulAccountsReceivableRollforward', window );"><strong>Allowance for doubtful accounts [Roll Forward]</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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Balance, beginning of period</a></td>
<td class="nump">$ 220<span></span>
</td>
<td class="nump">$ 221<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_ProvisionForDoubtfulAccounts', window );">Additions charged to costs and expenses</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">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_AllowanceForDoubtfulAccountsReceivableWriteOffs', window );">Deductions</a></td>
<td class="num">(1)<span></span>
</td>
<td class="num">(2)<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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Balance, end of period</a></td>
<td class="nump">$ 219<span></span>
</td>
<td class="nump">$ 220<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_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 allowance for credit loss on accounts 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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4)<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 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=123577603&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124255206&amp;loc=SL82895884-210446<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_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AllowanceForDoubtfulAccountsReceivableRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_AllowanceForDoubtfulAccountsReceivableRollforward</td>
</tr>
<tr>
<td style="padding-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_AllowanceForDoubtfulAccountsReceivableWriteOffs">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 direct write-downs of accounts receivable charged against the allowance.</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 (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=124255953&amp;loc=SL82919249-210447<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_AllowanceForDoubtfulAccountsReceivableWriteOffs</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<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="idm140549273816904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies, Fixed assets (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_PropertyPlantAndEquipmentAbstract', window );"><strong>Fixed assets [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_Depreciation', window );">Depreciation expense</a></td>
<td class="nump">$ 0.7<span></span>
</td>
<td class="nump">$ 1.0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ToolsDiesAndMoldsMember', window );">Tooling [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_PropertyPlantAndEquipmentAbstract', window );"><strong>Fixed assets [Abstract]</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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful life</a></td>
<td class="text">5 years<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment [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_PropertyPlantAndEquipmentAbstract', window );"><strong>Fixed assets [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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful life</a></td>
<td class="text">10 years<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_PropertyPlantAndEquipmentByTypeAxis=tact_FurnitureAndOfficeEquipmentMember', window );">Furniture and Office Equipment [Member] | Minimum [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_PropertyPlantAndEquipmentAbstract', window );"><strong>Fixed assets [Abstract]</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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful life</a></td>
<td class="text">5 years<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_PropertyPlantAndEquipmentByTypeAxis=tact_FurnitureAndOfficeEquipmentMember', window );">Furniture and Office Equipment [Member] | Maximum [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_PropertyPlantAndEquipmentAbstract', window );"><strong>Fixed assets [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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful life</a></td>
<td class="text">10 years<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_PropertyPlantAndEquipmentByTypeAxis=tact_ComputerSoftwareAndEquipmentMember', window );">Computer Software and Equipment [Member] | Minimum [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_PropertyPlantAndEquipmentAbstract', window );"><strong>Fixed assets [Abstract]</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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful life</a></td>
<td class="text">3 years<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_PropertyPlantAndEquipmentByTypeAxis=tact_ComputerSoftwareAndEquipmentMember', window );">Computer Software and Equipment [Member] | Maximum [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_PropertyPlantAndEquipmentAbstract', window );"><strong>Fixed assets [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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful life</a></td>
<td class="text">7 years<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_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_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="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_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ToolsDiesAndMoldsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ToolsDiesAndMoldsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=tact_FurnitureAndOfficeEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_PropertyPlantAndEquipmentByTypeAxis=tact_FurnitureAndOfficeEquipmentMember</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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=tact_ComputerSoftwareAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_PropertyPlantAndEquipmentByTypeAxis=tact_ComputerSoftwareAndEquipmentMember</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>54
<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="idm140549280020504">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of significant accounting policies, Leases (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th"><div>Apr. 20, 2021</div></th>
<th class="th"><div>Feb. 28, 2020</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_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</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_us-gaap_AssetsAndLiabilitiesLesseeAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_LesseeOperatingLeaseRemainingLeaseTerm', window );">Remaining lease terms</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</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_us-gaap_AssetsAndLiabilitiesLesseeAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseRemainingLeaseTerm', window );">Remaining lease terms</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Facility in Ithaca, New York [Member]</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_us-gaap_AssetsAndLiabilitiesLesseeAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset', window );">Increase (decrease) in right-of-use-asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.5<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_IncreaseDecreaseInOperatingLeaseLiability', window );">Increase (decrease) in operating lease liability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.5<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_LesseeOperatingLeaseRenewalTerm', window );">Extension period for leases</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
</tr>
<tr class="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_PropertyPlantAndEquipmentByTypeAxis=tact_FacilityInHamdenConnecticutMember', window );">Facility in Hamden, Connecticut [Member]</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_us-gaap_AssetsAndLiabilitiesLesseeAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset', window );">Increase (decrease) in right-of-use-asset</a></td>
<td class="num">$ (0.3)<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_IncreaseDecreaseInOperatingLeaseLiability', window );">Increase (decrease) in operating lease liability</a></td>
<td class="num">$ (0.3)<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_tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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;">tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_AssetsAndLiabilitiesLesseeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_AssetsAndLiabilitiesLesseeAbstract</td>
</tr>
<tr>
<td style="padding-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_IncreaseDecreaseInOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 for 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br><br>Reference 2: 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_IncreaseDecreaseInOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LesseeOperatingLeaseRemainingLeaseTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Remaining lease term of operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="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 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918673-209980<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_LesseeOperatingLeaseRemainingLeaseTerm</td>
</tr>
<tr>
<td style="padding-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_LesseeOperatingLeaseRenewalTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's operating lease renewal, 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918673-209980<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_LesseeOperatingLeaseRenewalTerm</td>
</tr>
<tr>
<td style="padding-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_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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=tact_FacilityInHamdenConnecticutMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_PropertyPlantAndEquipmentByTypeAxis=tact_FacilityInHamdenConnecticutMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>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="idm140549275764280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies, Goodwill and intangible assets (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2021 </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_AccountingPoliciesAbstract', window );"><strong>Summary of significant 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_GoodwillAndIntangibleAssetImpairment', window );">Impairment of goodwill and intangible assets</a></td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_GoodwillAndIntangibleAssetImpairment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 loss recognized during the period from the impairment of goodwill plus the loss recognized in the period resulting from the impairment of the carrying amount of intangible assets, other than goodwill.</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_GoodwillAndIntangibleAssetImpairment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>56
<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="idm140549269016024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies, Revenue recognition - Disaggregation of revenue (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Mar. 31, 2020</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_AccountingPoliciesAbstract', window );"><strong>Summary of significant accounting policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation', window );">Term of free maintenance upon completion of software installation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year<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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 11,123<span></span>
</td>
<td class="nump">$ 10,637<span></span>
</td>
<td class="nump">$ 9,325<span></span>
</td>
<td class="nump">$ 8,301<span></span>
</td>
<td class="nump">$ 7,763<span></span>
</td>
<td class="nump">$ 7,300<span></span>
</td>
<td class="nump">$ 5,285<span></span>
</td>
<td class="nump">$ 10,247<span></span>
</td>
<td class="nump">$ 39,386<span></span>
</td>
<td class="nump">$ 30,595<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,400<span></span>
</td>
<td class="nump">24,733<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=tact_InternationalMember', window );">International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,986<span></span>
</td>
<td class="nump">5,862<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=tact_FoodServiceTechnologyMember', window );">Food Service Technology [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,625<span></span>
</td>
<td class="nump">7,734<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=tact_FoodServiceTechnologyMember', window );">Food Service Technology [Member] | United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,738<span></span>
</td>
<td class="nump">6,956<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=tact_FoodServiceTechnologyMember', window );">Food Service Technology [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">887<span></span>
</td>
<td class="nump">778<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=tact_PosAutomationAndBankingMember', window );">POS Automation [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,825<span></span>
</td>
<td class="nump">3,770<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=tact_PosAutomationAndBankingMember', window );">POS Automation [Member] | United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,817<span></span>
</td>
<td class="nump">3,763<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=tact_PosAutomationAndBankingMember', window );">POS Automation [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8<span></span>
</td>
<td class="nump">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_ProductOrServiceAxis=tact_CasinoAndGamingMember', window );">Casino and Gaming [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,302<span></span>
</td>
<td class="nump">10,979<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=tact_CasinoAndGamingMember', window );">Casino and Gaming [Member] | United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,173<span></span>
</td>
<td class="nump">6,852<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=tact_CasinoAndGamingMember', window );">Casino and Gaming [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,129<span></span>
</td>
<td class="nump">4,127<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=tact_LotteryMember', window );">Lottery [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">817<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=tact_LotteryMember', window );">Lottery [Member] | United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">817<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=tact_LotteryMember', window );">Lottery [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<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=tact_PrintrexMember', window );">Printrex [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">631<span></span>
</td>
<td class="nump">300<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=tact_PrintrexMember', window );">Printrex [Member] | United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">171<span></span>
</td>
<td class="nump">83<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=tact_PrintrexMember', window );">Printrex [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">460<span></span>
</td>
<td class="nump">217<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=tact_TransactServicesGroupMember', window );">TransAct Services Group [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,003<span></span>
</td>
<td class="nump">6,995<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=tact_TransactServicesGroupMember', window );">TransAct Services Group [Member] | United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,501<span></span>
</td>
<td class="nump">6,262<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=tact_TransactServicesGroupMember', window );">TransAct Services Group [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 502<span></span>
</td>
<td class="nump">$ 733<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the customer receives free maintenance upon completion of EPICENTRAL installation, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="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;">tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_DisaggregationOfRevenueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_DisaggregationOfRevenueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_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=tact_InternationalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=tact_InternationalMember</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=tact_FoodServiceTechnologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=tact_FoodServiceTechnologyMember</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=tact_PosAutomationAndBankingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=tact_PosAutomationAndBankingMember</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=tact_CasinoAndGamingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=tact_CasinoAndGamingMember</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=tact_LotteryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=tact_LotteryMember</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=tact_PrintrexMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=tact_PrintrexMember</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=tact_TransactServicesGroupMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=tact_TransactServicesGroupMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>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="idm140549280992424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies, Revenue recognition - Contract balances (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2020</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_AccountingPoliciesAbstract', window );"><strong>Summary of significant accounting policies [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_tact_ContractWithCustomerRevenueRecognized', window );">Revenue recognized</a></td>
<td class="nump">$ 700<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_ContractWithCustomerLiabilityAbstract', window );"><strong>Contract 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_ContractWithCustomerAssetNetCurrent', window );">Unbilled receivables, current</a></td>
<td class="nump">290<span></span>
</td>
<td class="nump">$ 314<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_ContractWithCustomerAssetNetNoncurrent', window );">Unbilled receivables, non-current</a></td>
<td class="nump">591<span></span>
</td>
<td class="nump">308<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_tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent', window );">Customer pre-payments</a></td>
<td class="num">(216)<span></span>
</td>
<td class="num">(99)<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_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue, current</a></td>
<td class="num">(504)<span></span>
</td>
<td class="num">(805)<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_ContractWithCustomerLiabilityNoncurrent', window );">Deferred revenue, non-current</a></td>
<td class="num">(111)<span></span>
</td>
<td class="num">(186)<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_tact_ContractWithCustomerAssetLiabilityNet', window );">Net contract assets (liabilities)</a></td>
<td class="nump">$ 50<span></span>
</td>
<td class="num">$ (468)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_ContractWithCustomerAssetLiabilityNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 (asset) to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time and the amount of obligation (liability) 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>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;">tact_ContractWithCustomerAssetLiabilityNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 related to customer prepayments 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>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;">tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_ContractWithCustomerRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 related to 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>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;">tact_ContractWithCustomerRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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 3<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130533-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 1<br> -URI http://asc.fasb.org/extlink&amp;oid=123360276&amp;loc=SL49130531-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_ContractWithCustomerAssetNetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ContractWithCustomerLiabilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_ContractWithCustomerLiabilityAbstract</td>
</tr>
<tr>
<td style="padding-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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<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="idm140549280022504">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Summary of significant accounting policies, Revenue Recognition - Remaining performance obligations (Details)<br> $ in Millions</strong></div></th>
<th class="th">
<div>Dec. 31, 2021 </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_RevenuePerformanceObligationAbstract', window );"><strong>Remaining performance obligations [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_RevenueRemainingPerformanceObligation', window );">Remaining performance obligations</a></td>
<td class="nump">$ 10.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_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2022-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-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_RevenuePerformanceObligationAbstract', window );"><strong>Remaining performance obligations [Abstract]</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_RevenueRemainingPerformanceObligation', window );">Remaining performance obligations</a></td>
<td class="nump">$ 10.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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Expected timing of satisfaction, period</a></td>
<td class="text">12 months<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 [Axis]: 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_RevenuePerformanceObligationAbstract', window );"><strong>Remaining performance obligations [Abstract]</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_RevenueRemainingPerformanceObligation', window );">Remaining performance obligations</a></td>
<td class="nump">$ 0.4<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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Expected timing of satisfaction, period</a></td>
<td class="text">12 months<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_RevenuePerformanceObligationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_RevenuePerformanceObligationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_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-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=2022-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=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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<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="idm140549268899416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies, Concentration of credit risk (Details) - Customer Concentration Risk [Member]<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable [Member] | Chain Link 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_RisksAndUncertaintiesAbstract', window );"><strong>Concentration of credit risk [Abstract]</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_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable [Member] | IGT [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_RisksAndUncertaintiesAbstract', window );"><strong>Concentration of credit risk [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_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">3.00%<span></span>
</td>
<td class="nump">11.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_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable [Member] | NCR Corporation [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_RisksAndUncertaintiesAbstract', window );"><strong>Concentration of credit risk [Abstract]</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_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">11.00%<span></span>
</td>
<td class="nump">2.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_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Sales [Member] | IGT [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_RisksAndUncertaintiesAbstract', window );"><strong>Concentration of credit risk [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_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">9.00%<span></span>
</td>
<td class="nump">15.00%<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_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_RisksAndUncertaintiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_RisksAndUncertaintiesAbstract</td>
</tr>
<tr>
<td style="padding-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_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_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_srt_MajorCustomersAxis=tact_ScientificGamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=tact_ScientificGamesMember</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=tact_InternationalGameTechnologyPlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=tact_InternationalGameTechnologyPlcMember</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=tact_NcrCorporationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=tact_NcrCorporationMember</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<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="idm140549369115960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies, Warranty (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_MovementInExtendedProductWarrantyAccrualRollForward', window );"><strong>Accrued product warranty liability [Roll Forward]</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_ExtendedProductWarrantyAccrual', window );">Balance, beginning of period</a></td>
<td class="nump">$ 140<span></span>
</td>
<td class="nump">$ 215<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_ExtendedProductWarrantyAccrualWarrantiesIssued', window );">Warranties issued</a></td>
<td class="nump">44<span></span>
</td>
<td class="nump">56<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_ExtendedProductWarrantyAccrualPayments', window );">Warranty settlements</a></td>
<td class="num">(83)<span></span>
</td>
<td class="num">(131)<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_ExtendedProductWarrantyAccrual', window );">Balance, end of period</a></td>
<td class="nump">101<span></span>
</td>
<td class="nump">140<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_ExtendedProductWarrantyAccrualCurrent', window );">Accrued product warranty liability, current</a></td>
<td class="nump">79<span></span>
</td>
<td class="nump">112<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_BalanceSheetLocationAxis=us-gaap_OtherLiabilitiesMember', window );">Other Liabilities [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_MovementInExtendedProductWarrantyAccrualRollForward', window );"><strong>Accrued product warranty liability [Roll Forward]</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_ExtendedProductWarrantyAccrualNoncurrent', window );">Accrued product warranty liability, long-term</a></td>
<td class="nump">$ 22<span></span>
</td>
<td class="nump">$ 28<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_MaximumMember', window );">Maximum [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_ExtendedProductWarrantyDisclosureAbstract', window );"><strong>Warranty [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_tact_ExtendedProductWarrantyPeriod', window );">Product warranty period</a></td>
<td class="text">24 months<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_tact_ExtendedProductWarrantyPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 extended warranty period on company products, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="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;">tact_ExtendedProductWarrantyPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ExtendedProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 as of the balance sheet date of the aggregate extended product warranty liability. Does not include the ending balance for the standard product warranty 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 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1),(c)(5)<br> -URI http://asc.fasb.org/extlink&amp;oid=123368208&amp;loc=d3e12565-110249<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_ExtendedProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ExtendedProductWarrantyAccrualCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 at end of the reporting period of the aggregate extended product warranty liability that is expected to be paid within one year of the balance sheet date or normal operating cycle, if longer. Does not include the balance for the standard product warranty 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 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_ExtendedProductWarrantyAccrualCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ExtendedProductWarrantyAccrualNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 at end of the reporting period of the aggregate extended product warranty liability that is expected to be paid after one year from the balance sheet date or normal operating cycle, if longer. Does not include the balance for the standard product warranty 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 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_ExtendedProductWarrantyAccrualNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ExtendedProductWarrantyAccrualPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 decrease in the extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the extended product warranty. Excludes standard product warranties.</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 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=123368208&amp;loc=d3e12565-110249<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_ExtendedProductWarrantyAccrualPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ExtendedProductWarrantyAccrualWarrantiesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the extended product warranty accrual from warranties issued. Excludes standard product warranties.</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 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=123368208&amp;loc=d3e12565-110249<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_ExtendedProductWarrantyAccrualWarrantiesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ExtendedProductWarrantyDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_ExtendedProductWarrantyDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_MovementInExtendedProductWarrantyAccrualRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_MovementInExtendedProductWarrantyAccrualRollForward</td>
</tr>
<tr>
<td style="padding-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_BalanceSheetLocationAxis=us-gaap_OtherLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_OtherLiabilitiesMember</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>61
<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="idm140549273854600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies, Engineering, design and product development (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_ResearchAndDevelopmentExpenseAbstract', window );"><strong>Engineering, design and product development [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_ResearchAndDevelopmentExpense', window );">Research and development expense</a></td>
<td class="nump">$ 7,475<span></span>
</td>
<td class="nump">$ 5,703<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_CapitalizedComputerSoftwareNet', window );">Unamortized development costs of software</a></td>
<td class="nump">396<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_CapitalizedComputerSoftwareAmortization1', window );">Amortization of capitalized software development costs</a></td>
<td class="nump">$ 154<span></span>
</td>
<td class="nump">$ 153<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_CapitalizedComputerSoftwareAmortization1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 amortization of capitalized computer software 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 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<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 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128487-111756<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_CapitalizedComputerSoftwareAmortization1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CapitalizedComputerSoftwareNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 carrying amount of capitalized computer software costs net of accumulated amortization 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://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<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_CapitalizedComputerSoftwareNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_ResearchAndDevelopmentExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_ResearchAndDevelopmentExpenseAbstract</td>
</tr>
<tr>
<td style="padding-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>62
<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="idm140549275719144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of significant accounting policies, Advertising (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_MarketingAndAdvertisingExpenseAbstract', window );"><strong>Advertising [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_AdvertisingExpense', window );">Advertising expense</a></td>
<td class="nump">$ 1.8<span></span>
</td>
<td class="nump">$ 0.7<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.</p></div>
<a href="javascript:void(0);" onclick="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 720<br> -SubTopic 35<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6420018&amp;loc=d3e36677-107848<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_AdvertisingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MarketingAndAdvertisingExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_MarketingAndAdvertisingExpenseAbstract</td>
</tr>
<tr>
<td style="padding-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>63
<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="idm140549278736600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note receivable (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_AccountsAndNotesReceivableNetAbstract', window );"><strong>Note receivable [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_tact_NoteReceivableInterestRate', window );">Interest rate</a></td>
<td class="nump">4.50%<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_ProceedsFromCollectionOfNotesReceivable', window );">Collection of note receivable</a></td>
<td class="nump">$ 1,600<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_tact_NoteReceivableInterestIncome', window );">Interest income</a></td>
<td class="nump">$ 17<span></span>
</td>
<td class="nump">$ 67<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_NoteReceivableInterestIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 nonoperating interest income from note receivable.</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;">tact_NoteReceivableInterestIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_NoteReceivableInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate charged under the note receivable agreement.</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;">tact_NoteReceivableInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_AccountsAndNotesReceivableNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_AccountsAndNotesReceivableNetAbstract</td>
</tr>
<tr>
<td style="padding-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_ProceedsFromCollectionOfNotesReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 principal collections from a borrowing supported by a written promise to pay an obligation.</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 12<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123570139&amp;loc=d3e3179-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_ProceedsFromCollectionOfNotesReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>64
<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="idm140549278719704">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventories (Details) - USD ($)<br> $ in Thousands</strong></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_InventoryDisclosureAbstract', window );"><strong>Inventories [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_InventoryRawMaterialsAndSuppliesNetOfReserves', window );">Raw materials and purchased component parts</a></td>
<td class="nump">$ 6,479<span></span>
</td>
<td class="nump">$ 5,467<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_InventoryWorkInProcessNetOfReserves', window );">Work-in-process</a></td>
<td class="nump">11<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_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">1,230<span></span>
</td>
<td class="nump">5,819<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_InventoryNet', window );">Inventories</a></td>
<td class="nump">$ 7,720<span></span>
</td>
<td class="nump">$ 11,286<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_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</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 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<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(6)(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_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or 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 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=124098289&amp;loc=d3e6676-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://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.6(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_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InventoryRawMaterialsAndSuppliesNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregated amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed. This amount is net of valuation reserves and adjustments.</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(6)(a)(5))<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 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<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(6)(a)(4))<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_InventoryRawMaterialsAndSuppliesNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InventoryWorkInProcessNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and 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 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<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(6)(a)(3))<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_InventoryWorkInProcessNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>65
<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="idm140549280045544">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fixed assets, net (Details) - USD ($)<br> $ in Thousands</strong></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_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Fixed assets [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_PropertyPlantAndEquipmentGross', window );">Fixed assets</a></td>
<td class="nump">$ 18,199<span></span>
</td>
<td class="nump">$ 21,451<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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less: Accumulated depreciation and amortization</a></td>
<td class="num">(16,736)<span></span>
</td>
<td class="num">(19,979)<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 );">Fixed assets, net</a></td>
<td class="nump">2,684<span></span>
</td>
<td class="nump">1,950<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Tooling, Machinery and Equipment [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_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Fixed assets [Abstract]</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_PropertyPlantAndEquipmentGross', window );">Fixed assets</a></td>
<td class="nump">6,694<span></span>
</td>
<td class="nump">9,508<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_PropertyPlantAndEquipmentByTypeAxis=tact_FurnitureAndOfficeEquipmentMember', window );">Furniture and Office Equipment [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_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Fixed assets [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_PropertyPlantAndEquipmentGross', window );">Fixed assets</a></td>
<td class="nump">1,660<span></span>
</td>
<td class="nump">1,706<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_PropertyPlantAndEquipmentByTypeAxis=tact_ComputerSoftwareAndEquipmentMember', window );">Computer Software and Equipment [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_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Fixed assets [Abstract]</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_PropertyPlantAndEquipmentGross', window );">Fixed assets</a></td>
<td class="nump">6,973<span></span>
</td>
<td class="nump">7,364<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [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_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Fixed assets [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_PropertyPlantAndEquipmentGross', window );">Fixed assets</a></td>
<td class="nump">2,872<span></span>
</td>
<td class="nump">2,873<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_PropertyPlantAndEquipmentByTypeAxis=tact_FixedAssetsExcludingConstructionInProcessMember', window );">Fixed Assets, Excluding Construction in-Process [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_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Fixed assets [Abstract]</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_PropertyPlantAndEquipmentNet', window );">Fixed assets, net</a></td>
<td class="nump">1,463<span></span>
</td>
<td class="nump">1,472<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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember', window );">Construction in-Process [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_PropertyPlantAndEquipmentNetByTypeAbstract', window );"><strong>Fixed assets [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_PropertyPlantAndEquipmentGross', window );">Fixed assets</a></td>
<td class="nump">$ 1,221<span></span>
</td>
<td class="nump">$ 478<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="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 (c)<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 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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business 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 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<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 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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PropertyPlantAndEquipmentNetByTypeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_PropertyPlantAndEquipmentNetByTypeAbstract</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=tact_FurnitureAndOfficeEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_PropertyPlantAndEquipmentByTypeAxis=tact_FurnitureAndOfficeEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=tact_ComputerSoftwareAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_PropertyPlantAndEquipmentByTypeAxis=tact_ComputerSoftwareAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=tact_FixedAssetsExcludingConstructionInProcessMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_PropertyPlantAndEquipmentByTypeAxis=tact_FixedAssetsExcludingConstructionInProcessMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember</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>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="idm140549280297544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible assets, net (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_FiniteLivedIntangibleAssetsNetAbstract', window );"><strong>Identifiable intangible assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross amount</a></td>
<td class="nump">$ 1,606<span></span>
</td>
<td class="nump">$ 4,588<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,209)<span></span>
</td>
<td class="num">(4,005)<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 );">Amortization expense</a></td>
<td class="nump">186<span></span>
</td>
<td class="nump">234<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_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Future amortization expense [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_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2022</a></td>
<td class="nump">155<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_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2023</a></td>
<td class="nump">154<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_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2024</a></td>
<td class="nump">88<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_tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree', window );">Thereafter</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember', window );">Purchased Technology [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_FiniteLivedIntangibleAssetsNetAbstract', window );"><strong>Identifiable intangible assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross amount</a></td>
<td class="nump">1,591<span></span>
</td>
<td class="nump">2,526<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,195)<span></span>
</td>
<td class="num">(1,975)<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 [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_FiniteLivedIntangibleAssetsNetAbstract', window );"><strong>Identifiable intangible assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross amount</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,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_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,300)<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_TrademarksMember', window );">Trademark [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_FiniteLivedIntangibleAssetsNetAbstract', window );"><strong>Identifiable intangible assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross amount</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">480<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="nump">0<span></span>
</td>
<td class="num">(450)<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_NoncompeteAgreementsMember', window );">Covenant Not to Compete [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_FiniteLivedIntangibleAssetsNetAbstract', window );"><strong>Identifiable intangible assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross amount</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">146<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="nump">0<span></span>
</td>
<td class="num">(146)<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 [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_FiniteLivedIntangibleAssetsNetAbstract', window );"><strong>Identifiable intangible assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross amount</a></td>
<td class="nump">15<span></span>
</td>
<td class="nump">56<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">(14)<span></span>
</td>
<td class="num">(54)<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_OtherIntangibleAssetsMember', window );">Other [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_FiniteLivedIntangibleAssetsNetAbstract', window );"><strong>Identifiable intangible assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross amount</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">80<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="nump">$ 0<span></span>
</td>
<td class="num">$ (80)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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>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;">tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_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_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_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_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_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract</td>
</tr>
<tr>
<td style="padding-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_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_FiniteLivedIntangibleAssetsNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_FiniteLivedIntangibleAssetsNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_TechnologyBasedIntangibleAssetsMember</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_TrademarksMember</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_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_NoncompeteAgreementsMember</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=us-gaap_OtherIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_OtherIntangibleAssetsMember</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>67
<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="idm140549278581944">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accrued liabilities (Details) - USD ($)<br> $ in Thousands</strong></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_PayablesAndAccrualsAbstract', window );"><strong>Accrued 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_EmployeeRelatedLiabilitiesCurrent', window );">Salaries and compensation related</a></td>
<td class="nump">$ 2,854<span></span>
</td>
<td class="nump">$ 2,328<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_ExtendedProductWarrantyAccrualCurrent', window );">Warranty</a></td>
<td class="nump">79<span></span>
</td>
<td class="nump">112<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 and consulting</a></td>
<td class="nump">285<span></span>
</td>
<td class="nump">257<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_OtherLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">676<span></span>
</td>
<td class="nump">968<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_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">$ 3,894<span></span>
</td>
<td class="nump">$ 3,665<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_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="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.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_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. 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.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_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ExtendedProductWarrantyAccrualCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 at end of the reporting period of the aggregate extended product warranty liability that is expected to be paid within one year of the balance sheet date or normal operating cycle, if longer. Does not include the balance for the standard product warranty 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 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_ExtendedProductWarrantyAccrualCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-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>68
<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="idm140549273961752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Retirement savings plan (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_CompensationAndRetirementDisclosureAbstract', window );"><strong>Retirement savings plan [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_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch', window );">Employer matching contribution percentage</a></td>
<td class="nump">50.00%<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_DefinedContributionPlanEmployerMatchingContributionPercent', window );">Employee's contribution percentage for match</a></td>
<td class="nump">6.00%<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_DefinedContributionPlanCostRecognized', window );">Amount of matching contribution</a></td>
<td class="nump">$ 312<span></span>
</td>
<td class="nump">$ 270<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanCostRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 cost for defined contribution plan.</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 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=49170846&amp;loc=d3e28014-114942<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_DefinedContributionPlanCostRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan.</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_DefinedContributionPlanEmployerMatchingContributionPercent</td>
</tr>
<tr>
<td style="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_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 employer matches of the employee's percentage contribution matched.</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_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch</td>
</tr>
<tr>
<td style="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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<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="idm140549272434360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Borrowings (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">12 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>Jul. 01, 2021</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Jul. 21, 2021</div></th>
<th class="th"><div>May 01, 2020</div></th>
<th class="th"><div>Mar. 13, 2020</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_DebtInstrumentAxis=tact_RevolvingCreditFacilitySienaLendingGroupLlcMember', window );">Revolving Credit Facility [Member]</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_LineOfCreditFacilityAbstract', window );"><strong>Borrowings [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</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">$ 10,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_LineOfCreditFacilityExpirationDate1', window );">Maturity date</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Mar. 13,  2023<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_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6.50%<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_DeferredFinanceCostsGross', window );">Deferred financing costs</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">$ 245<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_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Percentage fee on unused borrowings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.50%<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_tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable', window );">Percentage of eligible accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85.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>
</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_tact_DebtInstrumentFinancialCovenantEligibleInventory', window );">Eligible inventory</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,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="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage', window );">Percentage of eligible raw material</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50.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>
</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_tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage', window );">Percentage of eligible finished goods inventory</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">60.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>
</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_SecuredDebt', window );">Balance outstanding</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="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_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Additional borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,100<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_DebtInstrumentAxis=tact_RevolvingCreditFacilitySienaLendingGroupLlcMember', window );">Revolving Credit Facility [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAbstract', window );"><strong>Borrowings [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Additional borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 750<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_DebtInstrumentAxis=tact_RevolvingCreditFacilitySienaLendingGroupLlcMember', window );">Revolving Credit Facility [Member] | Prime Rate [Member]</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_LineOfCreditFacilityAbstract', window );"><strong>Borrowings [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.75%<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_DebtInstrumentAxis=tact_RevolvingCreditFacilitySienaLendingGroupLlcMember', window );">Revolving Credit Facility [Member] | Federal Funds Rate [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAbstract', window );"><strong>Borrowings [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.25%<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_DebtInstrumentAxis=tact_PaycheckProtectionProgramLoanMember', window );">PPP Loan [Member]</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_LineOfCreditFacilityAbstract', window );"><strong>Borrowings [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_DebtInstrumentFaceAmount', window );">Face amount</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">$ 2,200<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_LineOfCreditFacilityExpirationDate1', window );">Maturity date</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">May  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>
</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_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.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>
</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_DebtInstrumentDecreaseForgiveness', window );">Loan forgiven</a></td>
<td class="nump">$ 2,200<span></span>
</td>
<td class="text">&#160;<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_tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 percentage of eligible accounts receivable included in the calculation of borrowing base imposed by the financial covenants of the debt 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;">tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_DebtInstrumentFinancialCovenantEligibleInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 minimum value of eligible raw material and finished goods inventory included in the calculation of borrowing base imposed by the financial covenants of the debt 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;">tact_DebtInstrumentFinancialCovenantEligibleInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 percentage of eligible finished goods inventory included in the calculation of borrowing base imposed by the financial covenants of the debt 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;">tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 percentage of eligible raw material included in the calculation of borrowing base imposed by the financial covenants of the debt 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;">tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_DebtInstrumentBasisSpreadOnVariableRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 points added to the reference rate to compute the variable rate on the debt 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;">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</td>
</tr>
<tr>
<td style="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_DebtInstrumentDecreaseForgiveness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Decrease for amounts of indebtedness forgiven by the holder of the debt instrument.</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(f))<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_DebtInstrumentDecreaseForgiveness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 (par) amount of debt instrument at time of issuance.</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 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28551-108399<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=114775985&amp;loc=d3e28878-108400<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=124429444&amp;loc=SL124452920-239629<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69C<br> -URI http://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495737-112612<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 55<br> -Paragraph 69B<br> -URI http://asc.fasb.org/extlink&amp;oid=123466577&amp;loc=SL123495735-112612<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_DebtInstrumentFaceAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</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 20<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123466505&amp;loc=SL123495323-112611<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.22(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_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="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_DeferredFinanceCostsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration 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 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=124435984&amp;loc=d3e28555-108399<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_DeferredFinanceCostsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LineOfCreditFacilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_LineOfCreditFacilityAbstract</td>
</tr>
<tr>
<td style="padding-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_LineOfCreditFacilityExpirationDate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the credit facility terminates, 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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<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_LineOfCreditFacilityExpirationDate1</td>
</tr>
<tr>
<td style="padding-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_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</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(b),22(b))<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_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LineOfCreditFacilityRemainingBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).</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(b),22(b))<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_LineOfCreditFacilityRemainingBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.</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_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage</td>
</tr>
<tr>
<td style="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_SecuredDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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, including the current and noncurrent portions, of collateralized debt obligations (with maturities initially due after one year or beyond the operating cycle, if longer). Such obligations include mortgage loans, chattel loans, and any other borrowings secured by assets of the borrower.</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 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=120400017&amp;loc=d3e572229-122910<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(16))<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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<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_SecuredDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DebtInstrumentAxis=tact_RevolvingCreditFacilitySienaLendingGroupLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_DebtInstrumentAxis=tact_RevolvingCreditFacilitySienaLendingGroupLlcMember</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_VariableRateAxis=us-gaap_PrimeRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_VariableRateAxis=us-gaap_PrimeRateMember</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_VariableRateAxis=us-gaap_FederalFundsEffectiveSwapRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_VariableRateAxis=us-gaap_FederalFundsEffectiveSwapRateMember</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_DebtInstrumentAxis=tact_PaycheckProtectionProgramLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_DebtInstrumentAxis=tact_PaycheckProtectionProgramLoanMember</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>70
<FILENAME>R57.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="idm140549273989512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock incentive plans, Stock incentive plans (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2021 </div>
<div>Plan </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_ShareBasedArrangementsToObtainGoodsAndServicesAbstract', window );"><strong>Stock incentive plans [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_tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans', window );">Number of stock incentive plans | Plan</a></td>
<td class="nump">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_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock Options [Member]</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_ShareBasedArrangementsToObtainGoodsAndServicesAbstract', window );"><strong>Stock incentive plans [Abstract]</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_tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant', window );">Exercise price as a percentage of fair market value of common stock at date of grant</a></td>
<td class="nump">100.00%<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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Term of award</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock Options [Member] | Minimum [Member]</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_ShareBasedArrangementsToObtainGoodsAndServicesAbstract', window );"><strong>Stock incentive plans [Abstract]</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">2 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock Options [Member] | Maximum [Member]</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_ShareBasedArrangementsToObtainGoodsAndServicesAbstract', window );"><strong>Stock incentive plans [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=tact_EquityIncentivePlan2014Member', window );">2014 Equity Incentive Plan [Member]</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_ShareBasedArrangementsToObtainGoodsAndServicesAbstract', window );"><strong>Stock incentive plans [Abstract]</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Number of shares authorized (in shares)</a></td>
<td class="nump">2,200,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Number of shares available for grant (in shares)</a></td>
<td class="nump">611,652<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=tact_EquityIncentivePlan2014Member', window );">2014 Equity Incentive Plan [Member] | Stock Options [Member]</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_ShareBasedArrangementsToObtainGoodsAndServicesAbstract', window );"><strong>Stock incentive plans [Abstract]</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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Term of award</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 exercise price of awards granted under the plans as a percentage of the fair market value of the Company's common stock at the date of grant.</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;">tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 stock incentive plans.</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;">tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_ShareBasedArrangementsToObtainGoodsAndServicesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_ShareBasedArrangementsToObtainGoodsAndServicesAbstract</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="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 (a)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 authorized for issuance 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 2<br> -Subparagraph (a)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="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 (a)(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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=tact_EquityIncentivePlan2014Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=tact_EquityIncentivePlan2014Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R58.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="idm140549273872568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock incentive plans, Assumptions used in option valuation calculations (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Stock Options [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract', window );"><strong>Assumptions used in valuation model [Abstract]</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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Term of award</a></td>
<td class="text">10 years<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=tact_EquityIncentivePlan2014Member', window );">2014 Equity Incentive Plan [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract', window );"><strong>Assumptions used in valuation model [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_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected option term</a></td>
<td class="text">6 years 10 months 24 days<span></span>
</td>
<td class="text">7 years<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility</a></td>
<td class="nump">50.50%<span></span>
</td>
<td class="nump">41.70%<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free interest rate</a></td>
<td class="nump">1.20%<span></span>
</td>
<td class="nump">0.90%<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Dividend yield</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PlanNameAxis=tact_EquityIncentivePlan2014Member', window );">2014 Equity Incentive Plan [Member] | Stock Options [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract', window );"><strong>Assumptions used in valuation model [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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted average fair value of grants (in dollars per share)</a></td>
<td class="nump">$ 5.41<span></span>
</td>
<td class="nump">$ 3.19<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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Term of award</a></td>
<td class="text">10 years<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=tact_EquityIncentivePlan2014Member', window );">2014 Equity Incentive Plan [Member] | Restricted Share Units [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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract', window );"><strong>Assumptions used in valuation model [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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted average fair value of grants (in dollars per share)</a></td>
<td class="nump">$ 10.27<span></span>
</td>
<td class="nump">$ 9.77<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="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 (f)(2)(iii)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="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 (f)(2)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 risk-free interest rate assumption that is used in valuing an option on its own shares.</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 (f)(2)(iv)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="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 (a)(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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="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 (f)(2)(i)<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.D.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=122041274&amp;loc=d3e301413-122809<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_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 grant-date fair value of non-vested options outstanding.</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="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_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=tact_EquityIncentivePlan2014Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=tact_EquityIncentivePlan2014Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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>72
<FILENAME>R59.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="idm140549281006824">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock incentive plans, Share-based compensation expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_ShareBasedCompensationAbstract', window );"><strong>Share-based compensation [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_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense', window );">Income tax benefit from share-based compensation expense</a></td>
<td class="nump">$ 265<span></span>
</td>
<td class="nump">$ 193<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 Expense [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_ShareBasedCompensationAbstract', window );"><strong>Share-based compensation [Abstract]</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 );">Share-based compensation expense</a></td>
<td class="nump">$ 1,200<span></span>
</td>
<td class="nump">$ 900<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_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 tax benefit for recognition of expense of 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 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_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_ShareBasedCompensationAbstract</td>
</tr>
<tr>
<td style="padding-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_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>73
<FILENAME>R60.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="idm140549272109304">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>Stock incentive plans, Stock options (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract', window );"><strong>Remaining Term [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions', window );">Unrecognized compensation cost related to stock options</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 2,100<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted average period to recognize compensation cost not yet recognized</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">2 years 4 months 24 days<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1', window );">Fair value of all awards vested</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 1,700<span></span>
</td>
<td class="nump">$ 1,700<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Intrinsic value of stock options exercised</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">268<span></span>
</td>
<td class="nump">174<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_ProceedsFromStockOptionsExercised', window );">Cash received from exercise of stock options</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">436<span></span>
</td>
<td class="nump">375<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_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions', window );">Excess tax benefit in provision for income taxes</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">$ (35)<span></span>
</td>
<td class="num">$ (14)<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=tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member', window );">2005 Equity Incentive Plan and 2014 Equity Incentive Plan [Member] | Stock Options [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Number of Shares [Roll Forward]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding, beginning of period (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,287,605<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Granted (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">153,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_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(97,000)<span></span>
</td>
<td class="num">(62,500)<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 );">Forfeited (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(45,750)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod', window );">Expired (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(28,500)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding, end of period (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,269,355<span></span>
</td>
<td class="nump">1,287,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Options vested or expected to vest (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">1,269,355<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Options exercisable, end of period (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">856,723<span></span>
</td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward', window );"><strong>Weighted Average Exercise Price [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, beginning of period (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">$ 8.98<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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Granted (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">10.55<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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">8.47<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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice', window );">Forfeited (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">8.87<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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice', window );">Expired (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">10.22<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, end of period (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">9.18<span></span>
</td>
<td class="nump">$ 8.98<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice', window );">Options vested or expected to vest (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">9.18<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Options exercisable, end of period (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">$ 9.00<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_tact_EquityAwardsAggregateIntrinsicValueAbstract', window );"><strong>Aggregate Intrinsic Value [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Options vested and expected to vest</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 2,662<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Options exercisable, end of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 1,982<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract', window );"><strong>Remaining Term [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Options vested and expected to vest</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="text">5 years 7 months 6 days<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Options exercisable, end of period</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="text">4 years 1 month 6 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_PlanNameAxis=tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member', window );">2005 Equity Incentive Plan and 2014 Equity Incentive Plan [Member] | Restricted Share Units [Member]</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Number of Shares [Roll Forward]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Options vested or expected to vest (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">132,518<span></span>
</td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward', window );"><strong>Weighted Average Exercise Price [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice', window );">Options vested or expected to vest (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward', window );"><strong>Number of Units [Roll Forward]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Outstanding, beginning of period (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">110,550<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted', window );">Granted (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">95,200<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised', window );">Exercised (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="num">(50,525)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures', window );">Forfeited (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations', window );">Expired (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">0<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Outstanding, end of period (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">155,225<span></span>
</td>
<td class="nump">110,550<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant Stock Price [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding, beginning of period (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="nump">$ 10.30<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="nump">10.27<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_tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue', window );">Exercised (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="nump">10.29<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="nump">0<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_tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue', window );">Expired (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="nump">0<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Outstanding, end of period (in dollars per share)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[3]</sup></td>
<td class="nump">$ 10.28<span></span>
</td>
<td class="nump">$ 10.30<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_tact_EquityAwardsAggregateIntrinsicValueAbstract', window );"><strong>Aggregate Intrinsic Value [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested', window );">Restricted stock units vested and expected to vest</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 1,444<span></span>
</td>
<td class="text">&#160;<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_tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract', window );"><strong>Remaining Term [Abstract]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms', window );">Restricted stock units vested and expected to vest</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="text">2 years 2 months 12 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top">weighted average exercise price per share</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top">weighted-average contractual remaining term in years</td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[3]</td>
<td style="vertical-align: top;" valign="top">weighted average grant stock price per share</td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_EquityAwardsAggregateIntrinsicValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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;">tact_EquityAwardsAggregateIntrinsicValueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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;">tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the grant date of equity-based award plans other than stock (unit) option plans that were exercised 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;">tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 fair value as of the grant date of equity-based award plans other than stock (unit) option plans for which the right to exercise has lapsed under the terms of the plan agreements.</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;">tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="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 (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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 cost to be recognized for 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 2<br> -Subparagraph (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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 tax benefit 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://www.xbrl.org/2003/role/disclosureRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="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)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 remaining contractual term for equity-based awards excluding options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="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 (e)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 non-option equity instruments exercised by participants.</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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 under non-option equity instrument agreements for which rights to exercise lapsed.</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)(4)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 under non-option equity instrument agreements that were cancelled as a result of occurrence of a terminating event.</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Net number of non-option equity instruments granted to participants.</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)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 equity instruments other than options outstanding, including both vested and non-vested instruments.</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)(ii)<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)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the 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)(iii)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable 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)(iii)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="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)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.</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)(4)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="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 (e)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="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 (e)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="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 (e)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 of the plan that expired.</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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of vested 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>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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="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 (e)(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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted 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 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_PlanNameAxis=tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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>74
<FILENAME>R61.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="idm140549272619752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income taxes, Components of income tax benefit (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2017</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_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentFederalTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">$ 26<span></span>
</td>
<td class="num">$ (2,141)<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_CurrentStateAndLocalTaxExpenseBenefit', window );">State</a></td>
<td class="nump">51<span></span>
</td>
<td class="nump">17<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_CurrentForeignTaxExpenseBenefit', window );">Foreign</a></td>
<td class="nump">2<span></span>
</td>
<td class="num">(48)<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_CurrentIncomeTaxExpenseBenefit', window );">Income taxes current</a></td>
<td class="nump">79<span></span>
</td>
<td class="num">(2,172)<span></span>
</td>
<td class="text">&#160;<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_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal</a></td>
<td class="num">(2,086)<span></span>
</td>
<td class="num">(483)<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_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State</a></td>
<td class="num">(62)<span></span>
</td>
<td class="num">(36)<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_DeferredForeignIncomeTaxExpenseBenefit', window );">Foreign</a></td>
<td class="num">(2)<span></span>
</td>
<td class="nump">152<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_DeferredIncomeTaxExpenseBenefit', window );">Income taxes deferred</a></td>
<td class="num">(2,150)<span></span>
</td>
<td class="num">(367)<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_IncomeTaxExpenseBenefit', window );">Income tax benefit</a></td>
<td class="num">$ (2,071)<span></span>
</td>
<td class="num">$ (2,539)<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_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="nump">33.30%<span></span>
</td>
<td class="nump">31.10%<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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Federal statutory tax rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">34.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract', window );"><strong>Income taxes [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign', window );">Foreign loss before taxes</a></td>
<td class="nump">$ 404<span></span>
</td>
<td class="nump">$ 468<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_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Federal [Member]</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_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract', window );"><strong>Income taxes [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Net operating loss carryforward</a></td>
<td class="nump">2,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_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember', window );">State [Member]</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_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract', window );"><strong>Income taxes [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_OperatingLossCarryforwards', window );">Net operating loss carryforward</a></td>
<td class="nump">78<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_TaxCreditCarryforwardAmount', window );">Tax credit carryforward</a></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="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_TaxCreditCarryforwardAxis=us-gaap_ResearchMember', window );">R&amp;D Credit [Member]</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_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract', window );"><strong>Income taxes [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_TaxCreditCarryforwardAmount', window );">Tax credit carryforward</a></td>
<td class="nump">$ 901<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_CurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 federal tax expense (benefit) pertaining to income (loss) 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 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<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_CurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentForeignTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 foreign income tax expense (benefit) pertaining to income (loss) 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 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<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_CurrentForeignTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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) pertaining to taxable income (loss) 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://fasb.org/us-gaap/role/ref/legacyRef<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/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(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: 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 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 4: 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.Fact.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<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_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 state and local tax expense (benefit) pertaining to income (loss) 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://fasb.org/us-gaap/role/ref/legacyRef<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/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(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<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_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 federal income tax expense (benefit) pertaining to income (loss) 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 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<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_DeferredFederalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredForeignIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 foreign income tax expense (benefit) pertaining to income (loss) 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://fasb.org/us-gaap/role/ref/legacyRef<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/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(h)(1)(Note 1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<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_DeferredForeignIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 income tax expense (benefit) pertaining to income (loss) 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://fasb.org/us-gaap/role/ref/legacyRef<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 S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 3: 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(h)(1)(Note 1))<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 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 5: 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 6: 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 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<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_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 state and local tax expense (benefit) pertaining to income (loss) 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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32639-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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 3: 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(h)(1)(Note 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_DeferredStateAndLocalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<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_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 domestic federal statutory tax rate applicable to pretax income (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 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<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 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: 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 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.</p></div>
<a href="javascript:void(0);" onclick="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(h)(1))<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 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32559-109319<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_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxCreditCarryforwardAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32559-109319<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_TaxCreditCarryforwardAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</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_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember</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_TaxCreditCarryforwardAxis=us-gaap_ResearchMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_TaxCreditCarryforwardAxis=us-gaap_ResearchMember</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>75
<FILENAME>R62.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="idm140549268910760">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Income taxes, Deferred tax assets and liabilities (Details) - USD ($)<br> $ in Thousands</strong></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_DeferredTaxAssetsNetAbstract', window );"><strong>Deferred tax assets [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_DeferredTaxAssetsOperatingLossCarryforwardsDomestic', window );">Deferred Tax Assets, Operating Loss Carryforwards, Domestic</a></td>
<td class="nump">$ 1,976<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_DeferredTaxAssetsOperatingLossCarryforwardsForeign', window );">Foreign net operating losses</a></td>
<td class="nump">624<span></span>
</td>
<td class="nump">563<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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements', window );">Depreciation</a></td>
<td class="nump">306<span></span>
</td>
<td class="nump">302<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_DeferredTaxAssetsInventory', window );">Inventory reserves</a></td>
<td class="nump">710<span></span>
</td>
<td class="nump">719<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_DeferredTaxAssetsDeferredIncome', window );">Deferred revenue</a></td>
<td class="nump">24<span></span>
</td>
<td class="nump">47<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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves', window );">Warranty reserve</a></td>
<td class="nump">22<span></span>
</td>
<td class="nump">31<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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost', window );">Stock compensation expense</a></td>
<td class="nump">796<span></span>
</td>
<td class="nump">731<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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation', window );">Other accrued compensation</a></td>
<td class="nump">308<span></span>
</td>
<td class="nump">388<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_DeferredTaxAssetsTaxCreditCarryforwardsResearch', window );">R&amp;D credit carryforward</a></td>
<td class="nump">901<span></span>
</td>
<td class="nump">460<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_DeferredTaxAssetsOther', window );">Other liabilities and reserves</a></td>
<td class="nump">250<span></span>
</td>
<td class="nump">394<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_DeferredTaxAssetsGross', window );">Gross deferred tax assets</a></td>
<td class="nump">5,917<span></span>
</td>
<td class="nump">3,635<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_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="num">(733)<span></span>
</td>
<td class="num">(659)<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_DeferredTaxAssetsNet', window );">Net deferred tax assets</a></td>
<td class="nump">5,184<span></span>
</td>
<td class="nump">2,976<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_DeferredTaxLiabilitiesNetAbstract', window );"><strong>Deferred tax 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_DeferredTaxLiabilitiesOther', window );">Other</a></td>
<td class="nump">43<span></span>
</td>
<td class="nump">37<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_DeferredTaxLiabilities', window );">Net deferred tax liabilities</a></td>
<td class="nump">43<span></span>
</td>
<td class="nump">37<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_DeferredTaxAssetsLiabilitiesNet', window );">Total net deferred tax assets</a></td>
<td class="nump">$ 5,141<span></span>
</td>
<td class="nump">$ 2,939<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_DeferredTaxAssetsDeferredIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred income.</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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<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_DeferredTaxAssetsDeferredIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</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 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<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_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.</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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<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_DeferredTaxAssetsInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<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_DeferredTaxAssetsLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<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_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_DeferredTaxAssetsNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 allocation of valuation allowances of deferred tax asset attributable to deductible domestic operating loss carryforwards. Excludes state and local operating loss carryforwards.</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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<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_DeferredTaxAssetsOperatingLossCarryforwardsDomestic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsOperatingLossCarryforwardsForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 allocation of valuation allowances of deferred tax asset attributable to deductible foreign operating loss carryforwards.</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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<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_DeferredTaxAssetsOperatingLossCarryforwardsForeign</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, 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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<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_DeferredTaxAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards.</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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32559-109319<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<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_DeferredTaxAssetsTaxCreditCarryforwardsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from employee compensation.</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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.</p></div>
<a href="javascript:void(0);" onclick="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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from the estimated loss from legal settlements.</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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from warranty reserves.</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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="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 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<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_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.</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 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32537-109319<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_DeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxLiabilitiesNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_DeferredTaxLiabilitiesNetAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 tax liability attributable to taxable temporary differences 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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32621-109319<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_DeferredTaxLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>76
<FILENAME>R63.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="idm140549280125704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income taxes, Valuation allowance on deferred tax assets (Details) - Foreign Net Operating Loss Carryforwards [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>Valuation allowance [Roll Forward]</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_ValuationAllowancesAndReservesBalance', window );">Balance, beginning of period</a></td>
<td class="nump">$ 659<span></span>
</td>
<td class="nump">$ 444<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_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Additions charged to income tax provision</a></td>
<td class="nump">74<span></span>
</td>
<td class="nump">215<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_ValuationAllowancesAndReservesBalance', window );">Balance, end of period</a></td>
<td class="nump">$ 733<span></span>
</td>
<td class="nump">$ 659<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_MovementInValuationAllowancesAndReservesRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_MovementInValuationAllowancesAndReservesRollForward</td>
</tr>
<tr>
<td style="padding-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_ValuationAllowancesAndReservesBalance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 valuation and qualifying accounts and reserves.</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 4<br> -Subparagraph (SX 210.12-09(Column B))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-122690<br><br>Reference 2: 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 4<br> -Subparagraph (SX 210.12-09(Column E))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-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_ValuationAllowancesAndReservesBalance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ValuationAllowancesAndReservesChargedToCostAndExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 valuation and qualifying accounts and reserves from charge to cost and expense.</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 4<br> -Subparagraph (SX 210.12-09(Column C)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e24092-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_ValuationAllowancesAndReservesChargedToCostAndExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember</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>77
<FILENAME>R64.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="idm140549369139464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income taxes, Statutory to effective tax rate reconciliation (Details)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2017</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_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract', window );"><strong>Effective Tax Rate Reconciliation [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Federal statutory tax rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">34.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_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate', window );">U.S. corporate tax rate change</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">9.50%<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_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch', window );">R&amp;D credit</a></td>
<td class="nump">7.10%<span></span>
</td>
<td class="nump">4.20%<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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State income taxes, net of federal income taxes</a></td>
<td class="nump">0.10%<span></span>
</td>
<td class="nump">0.20%<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_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment', window );">Business meals and entertainment</a></td>
<td class="num">(0.20%)<span></span>
</td>
<td class="nump">0.10%<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_tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent', window );">Miscellaneous permanent items</a></td>
<td class="num">(0.30%)<span></span>
</td>
<td class="nump">0.00%<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_EffectiveIncomeTaxRateReconciliationTaxContingencies', window );">Uncertain tax positions</a></td>
<td class="num">(0.40%)<span></span>
</td>
<td class="num">(0.20%)<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_EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion', window );">Foreign-derived intangible income deduction</a></td>
<td class="nump">7.40%<span></span>
</td>
<td class="nump">0.00%<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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent', window );">Stock award excess tax benefit</a></td>
<td class="nump">0.30%<span></span>
</td>
<td class="num">(0.30%)<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_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost', window );">Stock option cancellations</a></td>
<td class="num">(0.60%)<span></span>
</td>
<td class="num">(0.50%)<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_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Valuation allowance and tax accruals</a></td>
<td class="num">(1.20%)<span></span>
</td>
<td class="num">(2.60%)<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_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other</a></td>
<td class="nump">0.10%<span></span>
</td>
<td class="num">(0.30%)<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_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="nump">33.30%<span></span>
</td>
<td class="nump">31.10%<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_tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to miscellaneous permanent items.</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;">tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</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_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<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_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract</td>
</tr>
<tr>
<td style="padding-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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 domestic federal statutory tax rate applicable to pretax income (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 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<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 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=120395691&amp;loc=d3e23780-122690<br><br>Reference 3: 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 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="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 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<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_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax 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/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.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<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_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the difference between reported income tax expense (benefit) and the expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to deduction for extraterritorial income exclusion.</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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<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.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<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_EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion</td>
</tr>
<tr>
<td style="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_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to meals and entertainment expense.</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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<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.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<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_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<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.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<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_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<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.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<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_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 740<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=120384911&amp;loc=d3e23163-113944<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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="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 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income tax contingencies. Includes, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies.</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 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<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_EffectiveIncomeTaxRateReconciliationTaxContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.</p></div>
<a href="javascript:void(0);" onclick="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 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=122134291&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32687-109319<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_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R65.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="idm140549272366728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income taxes, Unrecognized tax benefits (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_IncomeTaxDisclosureAbstract', window );"><strong>Income taxes [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_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate', window );">Unrecognized tax benefits that would favorably affect effective income tax rate if recognized</a></td>
<td class="nump">$ 144<span></span>
</td>
<td class="nump">$ 121<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward', window );"><strong>Unrecognized tax benefits [Roll Forward]</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_UnrecognizedTaxBenefits', window );">Unrecognized tax benefits, beginning of period</a></td>
<td class="nump">121<span></span>
</td>
<td class="nump">107<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_UnrecognizedTaxBenefitsPeriodIncreaseDecrease', window );">Tax positions taken during the current period</a></td>
<td class="nump">47<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_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations', window );">Lapse of statute of limitations</a></td>
<td class="num">(24)<span></span>
</td>
<td class="num">(27)<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_UnrecognizedTaxBenefits', window );">Unrecognized tax benefits, end of period</a></td>
<td class="nump">144<span></span>
</td>
<td class="nump">121<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_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible', window );">Expected decrease in unrecognized tax benefits in next year</a></td>
<td class="nump">28<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_IncomeTaxExaminationPenaltiesAndInterestAccrued', window );">Accrued interest and penalties related to uncertain tax positions</a></td>
<td class="nump">$ 20<span></span>
</td>
<td class="nump">$ 19<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_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 decrease reasonably possible in the next twelve months for the unrecognized tax benefit.</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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32718-109319<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_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 estimated penalties and interest accrued as of the balance sheet date arising from income tax examinations.</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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=d3e32718-109319<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_IncomeTaxExaminationPenaltiesAndInterestAccrued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 unrecognized tax benefits.</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 45<br> -Paragraph 10B<br> -URI http://asc.fasb.org/extlink&amp;oid=123427490&amp;loc=SL37586934-109318<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 15A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<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_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 unrecognized tax benefits attributable to uncertain tax positions taken in tax returns.</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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<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_UnrecognizedTaxBenefitsPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 decrease in unrecognized tax benefits resulting from lapses of applicable statutes of limitations.</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 50<br> -Paragraph 15A<br> -Subparagraph (a)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<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_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate.</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 50<br> -Paragraph 15A<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=121826272&amp;loc=SL6600010-109319<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_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R66.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="idm140549272649352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per share (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Mar. 31, 2020</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_EarningsPerShareAbstract', window );"><strong>Earnings per share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (735)<span></span>
</td>
<td class="nump">$ 910<span></span>
</td>
<td class="num">$ (2,114)<span></span>
</td>
<td class="num">$ (2,206)<span></span>
</td>
<td class="num">$ (1,918)<span></span>
</td>
<td class="num">$ (867)<span></span>
</td>
<td class="num">$ (1,853)<span></span>
</td>
<td class="num">$ (992)<span></span>
</td>
<td class="num">$ (4,145)<span></span>
</td>
<td class="num">$ (5,630)<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>Shares [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic: Weighted average common shares outstanding (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,298,000<span></span>
</td>
<td class="nump">7,827,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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Add: Dilutive effect of outstanding equity awards as determined by the treasury stock method (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted: Weighted average common and common equivalent shares outstanding (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,298,000<span></span>
</td>
<td class="nump">7,827,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_EarningsPerShareBasicAndDilutedAbstract', window );"><strong>Net loss per common share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="num">$ (0.07)<span></span>
</td>
<td class="nump">$ 0.10<span></span>
</td>
<td class="num">$ (0.24)<span></span>
</td>
<td class="num">$ (0.25)<span></span>
</td>
<td class="num">$ (0.22)<span></span>
</td>
<td class="num">$ (0.11)<span></span>
</td>
<td class="num">$ (0.25)<span></span>
</td>
<td class="num">$ (0.13)<span></span>
</td>
<td class="num">$ (0.45)<span></span>
</td>
<td class="num">$ (0.72)<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 );">Diluted (in dollars per share)</a></td>
<td class="num">$ (0.07)<span></span>
</td>
<td class="nump">$ 0.09<span></span>
</td>
<td class="num">$ (0.24)<span></span>
</td>
<td class="num">$ (0.25)<span></span>
</td>
<td class="num">$ (0.22)<span></span>
</td>
<td class="num">$ (0.11)<span></span>
</td>
<td class="num">$ (0.25)<span></span>
</td>
<td class="num">$ (0.13)<span></span>
</td>
<td class="num">$ (0.45)<span></span>
</td>
<td class="num">$ (0.72)<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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_StockCompensationPlanMember', window );">Stock Awards [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_EarningsPerShareReconciliationAbstract', window );"><strong>Earnings per share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive securities excluded from computation of earnings per dilutive share (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">391,000<span></span>
</td>
<td class="nump">1,284,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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="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 (c)<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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_EarningsPerShareBasicAndDilutedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_EarningsPerShareBasicAndDilutedAbstract</td>
</tr>
<tr>
<td style="padding-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_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_EarningsPerShareReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_EarningsPerShareReconciliationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="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 45<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1707-109256<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 (a)<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> -SubTopic 10<br> -Section 45<br> -Paragraph 28A<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1500-109256<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 23<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=125511455&amp;loc=d3e1757-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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_StockCompensationPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_StockCompensationPlanMember</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>80
<FILENAME>R67.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="idm140549272708072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock repurchase program (Details) - USD ($)<br> $ / shares in Units, $ in Millions</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1">204 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_EquityAbstract', window );"><strong>Stock repurchase program [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Common stock repurchased (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">4,044,842<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 );">Value of common stock repurchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 32.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_TreasuryStockAcquiredAverageCostPerShare', window );">Average purchase price of common stock repurchased (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7.94<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_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>81
<FILENAME>R68.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="idm140549273380760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Geographic area information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Mar. 31, 2020</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_SegmentsGeographicalAreasAbstract', window );"><strong>Geographical area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 11,123<span></span>
</td>
<td class="nump">$ 10,637<span></span>
</td>
<td class="nump">$ 9,325<span></span>
</td>
<td class="nump">$ 8,301<span></span>
</td>
<td class="nump">$ 7,763<span></span>
</td>
<td class="nump">$ 7,300<span></span>
</td>
<td class="nump">$ 5,285<span></span>
</td>
<td class="nump">$ 10,247<span></span>
</td>
<td class="nump">$ 39,386<span></span>
</td>
<td class="nump">$ 30,595<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_PropertyPlantAndEquipmentNet', window );">Fixed assets, net</a></td>
<td class="nump">2,684<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,950<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,684<span></span>
</td>
<td class="nump">1,950<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 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_SegmentsGeographicalAreasAbstract', window );"><strong>Geographical area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,400<span></span>
</td>
<td class="nump">24,733<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=tact_InternationalMember', window );">International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_SegmentsGeographicalAreasAbstract', window );"><strong>Geographical area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,986<span></span>
</td>
<td class="nump">$ 5,862<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_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Sales [Member] | Geographic Concentration Risk [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_SegmentsGeographicalAreasAbstract', window );"><strong>Geographical area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18.00%<span></span>
</td>
<td class="nump">19.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_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Sales [Member] | Geographic Concentration Risk [Member] | Europe [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_SegmentsGeographicalAreasAbstract', window );"><strong>Geographical area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">53.00%<span></span>
</td>
<td class="nump">45.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_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Sales [Member] | Geographic Concentration Risk [Member] | Pacific Rim [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_SegmentsGeographicalAreasAbstract', window );"><strong>Geographical area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35.00%<span></span>
</td>
<td class="nump">45.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_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Sales [Member] | Geographic Concentration Risk [Member] | Canada [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_SegmentsGeographicalAreasAbstract', window );"><strong>Geographical area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11.00%<span></span>
</td>
<td class="nump">8.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_ConsolidationItemsAxis=srt_ReportableGeographicalComponentsMember', window );">Reportable Geographical Components [Member] | United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_SegmentsGeographicalAreasAbstract', window );"><strong>Geographical area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 32,400<span></span>
</td>
<td class="nump">$ 24,733<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_PropertyPlantAndEquipmentNet', window );">Fixed assets, net</a></td>
<td class="nump">1,770<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,079<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,770<span></span>
</td>
<td class="nump">1,079<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_ConsolidationItemsAxis=srt_ReportableGeographicalComponentsMember', window );">Reportable Geographical Components [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_SegmentsGeographicalAreasAbstract', window );"><strong>Geographical area information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,986<span></span>
</td>
<td class="nump">5,862<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_PropertyPlantAndEquipmentNet', window );">Fixed assets, net</a></td>
<td class="nump">$ 914<span></span>
</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">$ 871<span></span>
</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">$ 914<span></span>
</td>
<td class="nump">$ 871<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_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_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_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_SegmentsGeographicalAreasAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_SegmentsGeographicalAreasAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=tact_InternationalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=tact_InternationalMember</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_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_GeographicConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_GeographicConcentrationRiskMember</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=srt_EuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=srt_EuropeMember</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=tact_PacificRimMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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=tact_PacificRimMember</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_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_CA</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_ConsolidationItemsAxis=srt_ReportableGeographicalComponentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_ConsolidationItemsAxis=srt_ReportableGeographicalComponentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R69.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="idm140549278460504">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseExpense', window );">Operating lease expense</a></td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">$ 1,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_CashFlowOperatingActivitiesLesseeAbstract', window );"><strong>Cash Flows Related to Operating Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Operating cash outflows from leases</a></td>
<td class="nump">$ 982<span></span>
</td>
<td class="nump">$ 1,040<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_LesseeOperatingLeaseDescriptionAbstract', window );"><strong>Operating Lease Weighted Average Remaining Lease Term and Discount Rate [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_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average remaining lease term</a></td>
<td class="text">3 years 6 months<span></span>
</td>
<td class="text">4 years 10 months 24 days<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_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate</a></td>
<td class="nump">4.40%<span></span>
</td>
<td class="nump">4.10%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Maturity of Operating Lease Liabilities [Abstract]</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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2022</a></td>
<td class="nump">$ 886<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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2023</a></td>
<td class="nump">721<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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2024</a></td>
<td class="nump">721<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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2025</a></td>
<td class="nump">426<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_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2026</a></td>
<td class="nump">23<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_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total undiscounted lease payments</a></td>
<td class="nump">2,777<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_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less imputed interest</a></td>
<td class="nump">207<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_OperatingLeaseLiability', window );">Total lease liabilities</a></td>
<td class="nump">$ 2,570<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_CashFlowOperatingActivitiesLesseeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_CashFlowOperatingActivitiesLesseeAbstract</td>
</tr>
<tr>
<td style="padding-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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseDescriptionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_LesseeOperatingLeaseDescriptionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 undiscounted obligation for lease payment for 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 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<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_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="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 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="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 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<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_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="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 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="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 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="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 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 undiscounted obligation for lease payments in excess of discounted obligation for lease payments for 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 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918701-209980<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_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 operating lease expense. Excludes sublease 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918638-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_OperatingLeaseExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_OperatingLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-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_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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.</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_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="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 5<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=123391704&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<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_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 discount rate for operating lease calculated at point in time.</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 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<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_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="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 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=123414884&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=123408670&amp;loc=SL77918686-209980<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_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R70.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="idm140549273743912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Quarterly results of operations (unaudited) (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="8">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Sep. 30, 2021</div></th>
<th class="th"><div>Jun. 30, 2021</div></th>
<th class="th"><div>Mar. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Sep. 30, 2020</div></th>
<th class="th"><div>Jun. 30, 2020</div></th>
<th class="th"><div>Mar. 31, 2020</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_QuarterlyFinancialInformationDisclosureAbstract', window );"><strong>Quarterly results of operations (unaudited) [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 11,123<span></span>
</td>
<td class="nump">$ 10,637<span></span>
</td>
<td class="nump">$ 9,325<span></span>
</td>
<td class="nump">$ 8,301<span></span>
</td>
<td class="nump">$ 7,763<span></span>
</td>
<td class="nump">$ 7,300<span></span>
</td>
<td class="nump">$ 5,285<span></span>
</td>
<td class="nump">$ 10,247<span></span>
</td>
<td class="nump">$ 39,386<span></span>
</td>
<td class="nump">$ 30,595<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_GrossProfit', window );">Gross profit</a></td>
<td class="nump">4,418<span></span>
</td>
<td class="nump">4,317<span></span>
</td>
<td class="nump">3,325<span></span>
</td>
<td class="nump">3,189<span></span>
</td>
<td class="nump">2,372<span></span>
</td>
<td class="nump">3,349<span></span>
</td>
<td class="nump">2,290<span></span>
</td>
<td class="nump">4,918<span></span>
</td>
<td class="nump">15,249<span></span>
</td>
<td class="nump">12,929<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 (loss) income</a></td>
<td class="num">$ (735)<span></span>
</td>
<td class="nump">$ 910<span></span>
</td>
<td class="num">$ (2,114)<span></span>
</td>
<td class="num">$ (2,206)<span></span>
</td>
<td class="num">$ (1,918)<span></span>
</td>
<td class="num">$ (867)<span></span>
</td>
<td class="num">$ (1,853)<span></span>
</td>
<td class="num">$ (992)<span></span>
</td>
<td class="num">$ (4,145)<span></span>
</td>
<td class="num">$ (5,630)<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_EarningsPerShareBasicAndDilutedAbstract', window );"><strong>Net (loss) income per common share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="num">$ (0.07)<span></span>
</td>
<td class="nump">$ 0.10<span></span>
</td>
<td class="num">$ (0.24)<span></span>
</td>
<td class="num">$ (0.25)<span></span>
</td>
<td class="num">$ (0.22)<span></span>
</td>
<td class="num">$ (0.11)<span></span>
</td>
<td class="num">$ (0.25)<span></span>
</td>
<td class="num">$ (0.13)<span></span>
</td>
<td class="num">$ (0.45)<span></span>
</td>
<td class="num">$ (0.72)<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 );">Diluted (in dollars per share)</a></td>
<td class="num">$ (0.07)<span></span>
</td>
<td class="nump">$ 0.09<span></span>
</td>
<td class="num">$ (0.24)<span></span>
</td>
<td class="num">$ (0.25)<span></span>
</td>
<td class="num">$ (0.22)<span></span>
</td>
<td class="num">$ (0.11)<span></span>
</td>
<td class="num">$ (0.25)<span></span>
</td>
<td class="num">$ (0.13)<span></span>
</td>
<td class="num">$ (0.45)<span></span>
</td>
<td class="num">$ (0.72)<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_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_EarningsPerShareBasicAndDilutedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_EarningsPerShareBasicAndDilutedAbstract</td>
</tr>
<tr>
<td style="padding-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_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_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_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_QuarterlyFinancialInformationDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_QuarterlyFinancialInformationDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>form10k2021_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:tact="http://transact-tech.com/20211231"
  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="tact-20211231.xsd" xlink:type="simple"/>
    <context id="c20210101to20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c20220228">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <instant>2022-02-28</instant>
        </period>
    </context>
    <context id="c20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_StatementClassOfStockAxis_SeriesAPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20211231_StatementClassOfStockAxis_SeriesAPreferredStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20200101to20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20191231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="c20191231_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="c20191231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="c20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="c20191231_StatementEquityComponentsAxis_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="c20191231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="c20200101to20201231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_StatementEquityComponentsAxis_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_StatementEquityComponentsAxis_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20211231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20211231_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20201231_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20211231_StatementEquityComponentsAxis_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20201231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20201231_StatementEquityComponentsAxis_TreasuryStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20201016to20201016">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2020-10-16</startDate>
            <endDate>2020-10-16</endDate>
        </period>
    </context>
    <context id="c20210816to20210816">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2021-08-16</startDate>
            <endDate>2021-08-16</endDate>
        </period>
    </context>
    <context id="c20200501_DebtInstrumentAxis_PaycheckProtectionProgramLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:PaycheckProtectionProgramLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-05-01</instant>
        </period>
    </context>
    <context id="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-13</instant>
        </period>
    </context>
    <context id="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_ToolsDiesAndMoldsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ToolsDiesAndMoldsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200228to20200228_PropertyPlantAndEquipmentByTypeAxis_BuildingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-02-28</startDate>
            <endDate>2020-02-28</endDate>
        </period>
    </context>
    <context id="c20210420to20210420_PropertyPlantAndEquipmentByTypeAxis_FacilityInHamdenConnecticutMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FacilityInHamdenConnecticutMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-20</startDate>
            <endDate>2021-04-20</endDate>
        </period>
    </context>
    <context id="c20211231_RangeAxis_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_PropertyPlantAndEquipmentByTypeAxis_BuildingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20200101to20201231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ProductOrServiceAxis_CasinoAndGamingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ProductOrServiceAxis_LotteryMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:LotteryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ProductOrServiceAxis_TransactServicesGroupMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ProductOrServiceAxis_FoodServiceTechnologyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:LotteryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ProductOrServiceAxis_PrintrexMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ProductOrServiceAxis_PrintrexMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ProductOrServiceAxis_FoodServiceTechnologyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:LotteryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ProductOrServiceAxis_CasinoAndGamingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ProductOrServiceAxis_PosAutomationAndBankingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ProductOrServiceAxis_TransactServicesGroupMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ProductOrServiceAxis_PosAutomationAndBankingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20211231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20230101Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20220101Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2022-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPlcMember</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="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ScientificGamesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:ScientificGamesMember</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="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ScientificGamesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:ScientificGamesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPlcMember</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-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_NcrCorporationMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:NcrCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_NcrCorporationMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:NcrCorporationMember</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="c20210101to20211231_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20211231_BalanceSheetLocationAxis_OtherLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20201231_BalanceSheetLocationAxis_OtherLiabilitiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20211231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20201231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20211231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20201231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20211231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FixedAssetsExcludingConstructionInProcessMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20201231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FixedAssetsExcludingConstructionInProcessMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_OtherIntangibleAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_OtherIntangibleAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_CustomerRelationshipsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_NoncompeteAgreementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_NoncompeteAgreementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_CustomerRelationshipsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_TrademarksMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</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="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_TrademarksMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_DebtInstrumentAxis_PaycheckProtectionProgramLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:PaycheckProtectionProgramLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_PrimeRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_FederalFundsEffectiveSwapRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20211231_DebtInstrumentAxis_PaycheckProtectionProgramLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:PaycheckProtectionProgramLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20210721_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_RangeAxis_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-21</instant>
        </period>
    </context>
    <context id="c20210701to20210701_DebtInstrumentAxis_PaycheckProtectionProgramLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:PaycheckProtectionProgramLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-07-01</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20211231_PlanNameAxis_EquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20201231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20200101to20201231_PlanNameAxis_EquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_PlanNameAxis_EquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20201231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20201231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20170101to20171231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="c20211231_IncomeTaxAuthorityAxis_StateAndLocalJurisdictionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_IncomeTaxAuthorityAxis_DomesticCountryMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_TaxCreditCarryforwardAxis_ResearchMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:ResearchMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20191231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="c20201231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210101to20211231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20211231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20210101to20211231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20050101to20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2005-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20211231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20211231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c20201231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20201231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:PacificRimMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:PacificRimMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20201001to20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c20200401to20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="c20211001to20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c20200701to20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="c20210701to20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="c20210401to20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c20210101to20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="c20200101to20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <unit id="U001">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="U002">
        <measure>shares</measure>
    </unit>
    <unit id="U003">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="U004">
        <measure>tact:Segment</measure>
    </unit>
    <unit id="U005">
        <measure>tact:Solution</measure>
    </unit>
    <unit id="U006">
        <measure>tact:Manufacturer</measure>
    </unit>
    <unit id="U007">
        <measure>pure</measure>
    </unit>
    <unit id="U008">
        <measure>tact:Plan</measure>
    </unit>
    <dei:AmendmentFlag
      contextRef="c20210101to20211231"
      id="Fact_ffa7a4e04ace44cb9efb634a1c9753bb">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate
      contextRef="c20210101to20211231"
      id="Fact_c01b39563da347088761db721d01eb77">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="c20210101to20211231"
      id="Fact_bc862c9996254c50b5519b236aa9dccf">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="c20210101to20211231"
      id="Fact_6e4861eef3894411846866dff14dc9d3">FY</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey
      contextRef="c20210101to20211231"
      id="Fact_9f6272f221ba4cc1b4401640ec30f61a">0001017303</dei:EntityCentralIndexKey>
    <us-gaap:LesseeOperatingLeaseRenewalTerm
      contextRef="c20211231_PropertyPlantAndEquipmentByTypeAxis_BuildingMember"
      id="Fact_0a53edda34ca481aa7934ea4ab7d186a">P4Y</us-gaap:LesseeOperatingLeaseRenewalTerm>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="c20211231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20230101Member"
      id="Fact_0fb767fdbb19460d8f1b18e429c9fbeb">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <dei:AuditorFirmId
      contextRef="c20210101to20211231"
      id="Fact_5e122460796c4895bd008c99bd8b8564">688</dei:AuditorFirmId>
    <dei:DocumentType
      contextRef="c20210101to20211231"
      id="Fact_81399307730d4ea38d9fd7590a530cf8">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="c20210101to20211231"
      id="Fact_0a4e38807fde48da86cb88b14c2723d7">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="c20210101to20211231"
      id="Fact_84104798d0d64e77b9c639b1e0a1ee95">2021-12-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="c20210101to20211231"
      id="Fact_c4f1a6a0a9f442c29319bc6386fbbca4">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="c20210101to20211231"
      id="Fact_68d13cc34fa44214b6a5c2812b655a1c">0-21121</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="c20210101to20211231"
      id="Fact_f3cc80f94a61485aa4a7bdd1cf8a9490">TRANSACT TECHNOLOGIES INC</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="c20210101to20211231"
      id="Fact_f875f8b8e6364abaa28a1d116703a7f0">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="c20210101to20211231"
      id="Fact_236f23f5b9c4401eb5f79116190db17b">06-1456680</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="c20210101to20211231"
      id="Fact_bdadc0f20df04873928d30a0de334456">One Hamden Center</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="c20210101to20211231"
      id="Fact_b7f379fe0d4d496bbc8e2b1b06a8cfa7">2319 Whitney Avenue, Suite 3B</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="c20210101to20211231"
      id="Fact_868bc5e3a11d41b68b51dadc644d1250">Hamden</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="c20210101to20211231"
      id="Fact_dba64ce06c074350bdaa251e54dd8078">CT</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="c20210101to20211231"
      id="Fact_5ab5ad85d7e34158b0849906648cd029">06518</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="c20210101to20211231"
      id="Fact_bb54dc2fb9dd455eaf1596cb2919b4b5">203</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="c20210101to20211231"
      id="Fact_0a3568deb2bd4a388877d31a229803d0">859-6800</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="c20210101to20211231"
      id="Fact_e65e410b2685465cb71101632415ba50">Common stock, par value $0.01 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="c20210101to20211231"
      id="Fact_1972a8701d3048dc842ce99d3ed9ce34">TACT</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="c20210101to20211231"
      id="Fact_eca10fab5b624c64a854c3bc649be36a">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="c20210101to20211231"
      id="Fact_23f13135cd004f1291f9f8a4476ab11d">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="c20210101to20211231"
      id="Fact_4f0d4128207a4dacbcfbff463aeac3b3">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="c20210101to20211231"
      id="Fact_ef5000b06c064507aaaddcb277c1a071">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="c20210101to20211231"
      id="Fact_63bfa292bd874c3590ea3f9399626934">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="c20210101to20211231"
      id="Fact_5c23836eb08c48d2b775d2ce2c900f58">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="c20210101to20211231"
      id="Fact_f48ea49b5342471f99b184e2fe3d80df">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="c20210101to20211231"
      id="Fact_5f8d4d1f6c284ce1ad6cc5140bfd3d57">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="c20210101to20211231"
      id="Fact_15a44edf1bbb4cadb5ad6f6952c05c0f">false</dei:IcfrAuditorAttestationFlag>
    <dei:EntityShellCompany
      contextRef="c20210101to20211231"
      id="Fact_08d23d8517724635922d5ce9898b42f9">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="c20210630"
      decimals="0"
      id="Fact_b815248b35df42b6b6db096eaa55d96c"
      unitRef="U001">119400000</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="c20220228"
      decimals="INF"
      id="Fact_e365e59451374702adc76737fd37b120"
      unitRef="U002">9889745</dei:EntityCommonStockSharesOutstanding>
    <dei:AuditorName
      contextRef="c20210101to20211231"
      id="Fact_23105aaff6b443d68cc6700939a027ec">Marcum LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="c20210101to20211231"
      id="Fact_b17001a6f4d84c5f89c389ba35595b9b">Hartford, Connecticut</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="c20211231"
      decimals="-3"
      id="Fact_6cb2aa7a89b1444bbea80af4f0b0cc94"
      unitRef="U001">19457000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="c20201231"
      decimals="-3"
      id="Fact_1384735c58324f5f993741a376fec0e0"
      unitRef="U001">10359000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_162fd256363f42e0a7b101c890aeece9"
      unitRef="U001">7593000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_36b2a521a8f14c33bd2d6307140aa8b0"
      unitRef="U001">3377000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:NontradeReceivablesCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_92bd371ed4a04f48a03ba60a390a48fc"
      unitRef="U001">1500000</us-gaap:NontradeReceivablesCurrent>
    <us-gaap:NontradeReceivablesCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_19f0c99d442640d7ac133b31b22865e3"
      unitRef="U001">0</us-gaap:NontradeReceivablesCurrent>
    <us-gaap:NotesAndLoansReceivableNetCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_584c81f472b742c892af3d7f381e7756"
      unitRef="U001">0</us-gaap:NotesAndLoansReceivableNetCurrent>
    <us-gaap:NotesAndLoansReceivableNetCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_498a7bd579f34747b71adb43dd15d143"
      unitRef="U001">100000</us-gaap:NotesAndLoansReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="c20211231"
      decimals="-3"
      id="Fact_6046c20402bc4a75a29c1d7adbe18130"
      unitRef="U001">7720000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="c20201231"
      decimals="-3"
      id="Fact_f53ff3ffe5c94b8bb47f21f73fb7fbe4"
      unitRef="U001">11286000</us-gaap:InventoryNet>
    <us-gaap:PrepaidTaxes
      contextRef="c20211231"
      decimals="-3"
      id="Fact_8d4130cb137d456e9f3c5ec9d95782b0"
      unitRef="U001">137000</us-gaap:PrepaidTaxes>
    <us-gaap:PrepaidTaxes
      contextRef="c20201231"
      decimals="-3"
      id="Fact_5ac292f6466848e486af3c5a759d6b49"
      unitRef="U001">2409000</us-gaap:PrepaidTaxes>
    <us-gaap:OtherAssetsCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_fe40ba50c62b4873a91ecad23710696c"
      unitRef="U001">738000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_2ead9d18f1fa40e2b252d51b09e7a55e"
      unitRef="U001">644000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_e00537d3834a4b8c9f94479b36f0a38b"
      unitRef="U001">37145000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_e76b4ca2187340dd8bb6f4acfeed5ac2"
      unitRef="U001">28175000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20211231"
      decimals="-3"
      id="Fact_e63b912f6a6046a4858bdd6889971c31"
      unitRef="U001">2684000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20201231"
      decimals="-3"
      id="Fact_4ce8e4c639b549f087d47b4372793d60"
      unitRef="U001">1950000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:NotesAndLoansReceivableNetNoncurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_e6b8926701b34d248452c39b7f55f8a3"
      unitRef="U001">0</us-gaap:NotesAndLoansReceivableNetNoncurrent>
    <us-gaap:NotesAndLoansReceivableNetNoncurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_1a4ce2bd651a4bb0837de6bb13bf8a34"
      unitRef="U001">1584000</us-gaap:NotesAndLoansReceivableNetNoncurrent>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="c20211231"
      decimals="-3"
      id="Fact_3d9750ec049c4f778ada75d5c34e42c7"
      unitRef="U001">2553000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="c20201231"
      decimals="-3"
      id="Fact_8a1a51e5c03d4f9ea62eee35157d98d8"
      unitRef="U001">3618000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="c20211231"
      decimals="-3"
      id="Fact_d36bb891f1974c73ba9d6deec645598b"
      unitRef="U001">2621000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="c20201231"
      decimals="-3"
      id="Fact_9a59150ee37f4de3b08731eb5bca54eb"
      unitRef="U001">2621000</us-gaap:Goodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="c20211231"
      decimals="-3"
      id="Fact_b3d02eaa0a3741729347f8966b88887b"
      unitRef="U001">5141000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="c20201231"
      decimals="-3"
      id="Fact_a567596764fc4442b73030a5ba2546cd"
      unitRef="U001">2939000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="c20211231"
      decimals="-3"
      id="Fact_639e30276e1f4f658fcaf8df4290ca0e"
      unitRef="U001">397000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="c20201231"
      decimals="-3"
      id="Fact_7a3e9719417e4152b57eedafe51f8e77"
      unitRef="U001">583000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_c959393fccdc41f1999789535e7a79ba"
      unitRef="U001">400000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_506604552f7a4ad1a370a76b433c6983"
      unitRef="U001">777000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_d3e2d8fa4b564f5581fac9b431a28233"
      unitRef="U001">13796000</us-gaap:AssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_95edf9c476ab4df1af892df901fcb796"
      unitRef="U001">14072000</us-gaap:AssetsNoncurrent>
    <us-gaap:Assets
      contextRef="c20211231"
      decimals="-3"
      id="Fact_698497e70b534d7692473e82010c4072"
      unitRef="U001">50941000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c20201231"
      decimals="-3"
      id="Fact_490064fea4e84de8ae1d06b34639460f"
      unitRef="U001">42247000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_b2044052ac8346d7926cd1b41ff2f00a"
      unitRef="U001">4308000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_3ba7c38ad7794fd5be8aca869a617feb"
      unitRef="U001">1691000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_0e8a1bd2f60b431790d966d785ddd3a7"
      unitRef="U001">3894000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_198f44772b4045088c39530f0af1f8a5"
      unitRef="U001">3665000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_2b3ffd0d8f964100a4ac7498f0c3cbd7"
      unitRef="U001">789000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_34822d5cc2614acea9cdc7083bddc28d"
      unitRef="U001">837000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_4fa3466082464ccd99dd084603009b1f"
      unitRef="U001">805000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_a711a5b6d1af4293bb1a7caaf3bec921"
      unitRef="U001">504000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_37235067eba349cf864f84a0ba630bd5"
      unitRef="U001">9796000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_71f5f2114412483cb972b95553cb2da2"
      unitRef="U001">6697000</us-gaap:LiabilitiesCurrent>
    <us-gaap:UnsecuredLongTermDebt
      contextRef="c20211231"
      decimals="-3"
      id="Fact_e459388b1e914124b3baa6d478558dee"
      unitRef="U001">0</us-gaap:UnsecuredLongTermDebt>
    <us-gaap:UnsecuredLongTermDebt
      contextRef="c20201231"
      decimals="-3"
      id="Fact_ae41bc9653e94cb89c54f1754fb87eb0"
      unitRef="U001">2173000</us-gaap:UnsecuredLongTermDebt>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_40c7bc4bb807424a8dd43f89132cd62f"
      unitRef="U001">186000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_1e9d96364dd44d8e8e057cb0c39536b8"
      unitRef="U001">111000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_1e53514faf6a4ebab7bfe3d8920279a4"
      unitRef="U001">1781000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_95005edc5da44464a40eadafb4090d34"
      unitRef="U001">2864000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_4a851d07197f461db51aefa2b3993859"
      unitRef="U001">187000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_8710385969124270b7e377cdb3f79c80"
      unitRef="U001">166000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_b01a76739a19455cba1c858939a71086"
      unitRef="U001">2154000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_794bf7ef94f1464bb217f9fc91d51470"
      unitRef="U001">5314000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="c20211231"
      decimals="-3"
      id="Fact_68662d5bb87943be85bfd33c21dfb321"
      unitRef="U001">11950000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="c20201231"
      decimals="-3"
      id="Fact_88e504de076844e5b6ebbee1cf83ab98"
      unitRef="U001">12011000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c20211231"
      id="Fact_1ef3493c51c7434da09ecab64a6cee20"
      unitRef="U001"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c20201231"
      id="Fact_334448075d404c1faf6cefe337bbcce3"
      unitRef="U001"
      xsi:nil="true"/>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c20201231"
      decimals="2"
      id="Fact_e03c4000c1444162b3d5f40bd1df04db"
      unitRef="U003">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c20211231"
      decimals="2"
      id="Fact_31138f2c191e447981831450a10feaf7"
      unitRef="U003">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="c20201231"
      decimals="0"
      id="Fact_386081d4c791452b81e15a1cc10ccfe4"
      unitRef="U002">4800000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="c20211231"
      decimals="0"
      id="Fact_a84809d944984708b8f18979756e32c1"
      unitRef="U002">4800000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="c20201231"
      decimals="INF"
      id="Fact_57625c87cca043cc919661a54a2bd97c"
      unitRef="U002">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="c20211231"
      decimals="INF"
      id="Fact_85519cc14dd94e9e8bc663ab9cb2149d"
      unitRef="U002">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="c20201231"
      decimals="INF"
      id="Fact_1423b80b43dc4d20a11e90d5970fe45d"
      unitRef="U002">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="c20211231"
      decimals="INF"
      id="Fact_202be78d04434c0b8d1580619dfd6479"
      unitRef="U002">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockValue
      contextRef="c20211231"
      decimals="-3"
      id="Fact_d278b65b2a4140ed86bb3c41ae5345cc"
      unitRef="U001">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="c20201231"
      decimals="-3"
      id="Fact_347438ffe5574863816a56f513e6a49a"
      unitRef="U001">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c20201231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="2"
      id="Fact_e58de175e0de4aa3a8f8e9b086a7b04d"
      unitRef="U003">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c20211231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="2"
      id="Fact_477c8e6499f74698a05e96d8e2276b8d"
      unitRef="U003">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="c20201231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="0"
      id="Fact_ba3e080b8a9a4e23a4a13ddb100b5d3d"
      unitRef="U002">200000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="c20211231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="0"
      id="Fact_a7a067bf57764e5db4102215ed41daf9"
      unitRef="U002">200000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="c20201231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="INF"
      id="Fact_ae54c67a9a7549b4b6c6fb8becdf6ca8"
      unitRef="U002">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="c20211231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="INF"
      id="Fact_bb9ef0eb2a244851bb0cbef128747f74"
      unitRef="U002">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="c20201231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="INF"
      id="Fact_feedc2ccdb4d408e8fa579c799f9ecf1"
      unitRef="U002">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="c20211231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="INF"
      id="Fact_840b242ff0b0446ebdce7724139a6f90"
      unitRef="U002">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockValue
      contextRef="c20211231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="-3"
      id="Fact_27a25c167c444f67ba1fcd636b6626f7"
      unitRef="U001">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="c20201231_StatementClassOfStockAxis_SeriesAPreferredStockMember"
      decimals="-3"
      id="Fact_e6b330651d9040ba979f8aabc1d8aa42"
      unitRef="U001">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c20201231"
      decimals="2"
      id="Fact_aec3bedbee4640e88a2bbc1710c07589"
      unitRef="U003">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c20211231"
      decimals="2"
      id="Fact_5841e8c01523467f8346902ba9f69b23"
      unitRef="U003">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20201231"
      decimals="0"
      id="Fact_562e2c5083ff43d7a847773ec901b00e"
      unitRef="U002">20000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20211231"
      decimals="0"
      id="Fact_bf7ab2975eb1449897f61d5d314fac18"
      unitRef="U002">20000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20211231"
      decimals="0"
      id="Fact_329fced3f6e34910beb182ad37f7e71f"
      unitRef="U002">13917731</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20201231"
      decimals="0"
      id="Fact_e0918dfd4eb44ac4a63128173f3748cb"
      unitRef="U002">12976227</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c20211231"
      decimals="0"
      id="Fact_e820ee83898144fab85157ded895ef57"
      unitRef="U002">9872889</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c20201231"
      decimals="0"
      id="Fact_0299730f1c9341a38d88d2f834ccb66e"
      unitRef="U002">8931385</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="c20211231"
      decimals="-3"
      id="Fact_0b857345770243489da18b1237d2930f"
      unitRef="U001">139000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="c20201231"
      decimals="-3"
      id="Fact_6d0c30cf11f8427996bcc953d81ec302"
      unitRef="U001">130000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="c20211231"
      decimals="-3"
      id="Fact_4aa4bf8f26bb47a5b55babb809f22be1"
      unitRef="U001">55246000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="c20201231"
      decimals="-3"
      id="Fact_f4d228c15f6b44a98b64f321a4ac272f"
      unitRef="U001">42536000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="c20211231"
      decimals="-3"
      id="Fact_36152f25c2864ee5a2570c309f585a36"
      unitRef="U001">15573000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="c20201231"
      decimals="-3"
      id="Fact_bcb8173eacb946abaf4fc3229c29a2a2"
      unitRef="U001">19718000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="c20211231"
      decimals="-3"
      id="Fact_27d0b76eb09246079217aa03cf5c6066"
      unitRef="U001">143000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="c20201231"
      decimals="-3"
      id="Fact_cd2d5004f6294ff1baba40ae0f364556"
      unitRef="U001">-38000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:TreasuryStockShares
      contextRef="c20201231"
      decimals="0"
      id="Fact_43b2d251cd8749e9aa313ee2802c8e5c"
      unitRef="U002">4044842</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="c20211231"
      decimals="0"
      id="Fact_a0a0cb2cacca42678c06af9a9670c5a4"
      unitRef="U002">4044842</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockValue
      contextRef="c20211231"
      decimals="-3"
      id="Fact_f74db5c946dd4decb6899da23774252d"
      unitRef="U001">32110000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="c20201231"
      decimals="-3"
      id="Fact_c8871a7fd06c4bae8580b3acdc3b27fa"
      unitRef="U001">32110000</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity
      contextRef="c20211231"
      decimals="-3"
      id="Fact_93f88f915808430bb1bf2e8f7a00e1aa"
      unitRef="U001">38991000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20201231"
      decimals="-3"
      id="Fact_0518b692b1bd4049a8a152a0d2ba51ea"
      unitRef="U001">30236000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="c20211231"
      decimals="-3"
      id="Fact_24495cfce4b14138af330bf96d07c724"
      unitRef="U001">50941000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="c20201231"
      decimals="-3"
      id="Fact_893cbeea997d494e9e9048541bc38421"
      unitRef="U001">42247000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_35e4184917f94cd7b154ba19afe3ac7f"
      unitRef="U001">39386000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_bf526f7de43f4350a7424df5a0c1086d"
      unitRef="U001">30595000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_654e9970f6144f748b2a04a706fce352"
      unitRef="U001">24137000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_d182c079419a4fc5b31550cfb8997a8c"
      unitRef="U001">17666000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_0461bef1b85c4c02b8ae3e5da9aca757"
      unitRef="U001">15249000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_641cac8dc01841acb5d344c242227e30"
      unitRef="U001">12929000</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_b001b0a889c946a8a08b7a95325b80a8"
      unitRef="U001">7475000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_b4a9a72d359e452691c62462dd0fdf5c"
      unitRef="U001">5703000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_a647540563f842779633859c3479dd39"
      unitRef="U001">7658000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_219d50e98eaa4062afa6fee2708b7611"
      unitRef="U001">6144000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_d2c6adbe189f45a181ab959a47b4cce0"
      unitRef="U001">9626000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_aa79d9f30db94ff79d8a0c2dd50fffb5"
      unitRef="U001">9255000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_405178f352634dd685cca0b3e0f4079b"
      unitRef="U001">24759000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_35d0a588d761452b894a36f722ae481f"
      unitRef="U001">21102000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_a47b7e9ecfe44ecb96e3ac04fbabb65e"
      unitRef="U001">-9510000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_d4cc0f924ac546ff8cbc2d4af0bc4c86"
      unitRef="U001">-8173000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_2b1fa58f746c4ae686b8e5e5f07f69d0"
      unitRef="U001">157000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_f95cfcf87a7a4749b2e8719e09475db7"
      unitRef="U001">130000</us-gaap:InterestExpense>
    <us-gaap:InterestIncomeDomesticDeposits
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_067f98c9b1d5457abb04e15a77941e70"
      unitRef="U001">61000</us-gaap:InterestIncomeDomesticDeposits>
    <us-gaap:InterestIncomeDomesticDeposits
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_ea6a05df907144818bd8a63308be7ad5"
      unitRef="U001">78000</us-gaap:InterestIncomeDomesticDeposits>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_93f0b7647b21460f96bd3b7cf820056b"
      unitRef="U001">-283000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_996394b430734e8a8f3855262a2b1db6"
      unitRef="U001">56000</us-gaap:OtherNonoperatingIncomeExpense>
    <tact:GainFromEmployeeRetentionCredit
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_e6abc40133a94620b1ac1cb20db0a7fa"
      unitRef="U001">1500000</tact:GainFromEmployeeRetentionCredit>
    <tact:GainFromEmployeeRetentionCredit
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_9537a2ff420a4c0093f0facffa204cad"
      unitRef="U001">0</tact:GainFromEmployeeRetentionCredit>
    <us-gaap:GainLossOnNonRecourseDebt
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_6d7a671cf6a7482b94db8c4134bbc6b3"
      unitRef="U001">2173000</us-gaap:GainLossOnNonRecourseDebt>
    <us-gaap:GainLossOnNonRecourseDebt
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_cda57c2f4097429ba03366f4739ff177"
      unitRef="U001">0</us-gaap:GainLossOnNonRecourseDebt>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_055a55a038a5448abd0c0cb3fc626395"
      unitRef="U001">3294000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_aa2682116c6b4fc2ab51bdda7550cb44"
      unitRef="U001">4000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_80eab53aefcf4ea885ac4b36127b5aa4"
      unitRef="U001">-6216000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_59591afaa71b40dd82b3412fe3e996db"
      unitRef="U001">-8169000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_6d69099fd92d4a16b1319235f2d99c54"
      unitRef="U001">-2071000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_2c34f405c75d49f0b6dd191a7df7048c"
      unitRef="U001">-2539000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_e457789168264fb982458c1c37ba1bd0"
      unitRef="U001">-4145000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_2b2be5d809ec40a3a7165a854694b178"
      unitRef="U001">-5630000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20210101to20211231"
      decimals="2"
      id="Fact_e3e6c0c0209644018e5f06c41a0ff726"
      unitRef="U003">-0.45</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20200101to20201231"
      decimals="2"
      id="Fact_2a1c1c0fae98454789a17156fc8e33e8"
      unitRef="U003">-0.72</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20210101to20211231"
      decimals="2"
      id="Fact_443a0deb93984c35b09888beb1bcbddf"
      unitRef="U003">-0.45</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20200101to20201231"
      decimals="2"
      id="Fact_d201e75fa86b46d5965a662b8396b62d"
      unitRef="U003">-0.72</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_7718d94863bc40eb879e406e66e1099a"
      unitRef="U002">9298000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_45fbb16dbaa348dbb2324826512b33a9"
      unitRef="U002">7827000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_d8cdb8cf53b64d25972abf745d00f20d"
      unitRef="U002">9298000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_8f4c8da32bde42bcbf59c5124899269f"
      unitRef="U002">7827000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_f5ebad797ca9488d9d4aad72dc748d97"
      unitRef="U001">-4145000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_2207a2968e1a44478d7b1cac8ce33c94"
      unitRef="U001">-5630000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_d13b2e2eb188405784aa9908893eacae"
      unitRef="U001">181000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_21b7bccbc88b49fda888dba84fe936a7"
      unitRef="U001">-7000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_28028b711a6444e7ad0d924a761590fb"
      unitRef="U001">-3964000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_9a0a13813e4445de9f22b0464b7228c3"
      unitRef="U001">-5637000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20191231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_ec13b7d0a06140f8a8df7fe41076192b"
      unitRef="U002">7470248</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="c20191231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_de62837f420a4cd5aa59a1f6e5d4e5a0"
      unitRef="U001">115000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20191231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_d0ac18882aad471880a6071daecb95f6"
      unitRef="U001">32604000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20191231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_b887b993ab654fc1877d9e3285cf187c"
      unitRef="U001">25348000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20191231_StatementEquityComponentsAxis_TreasuryStockMember"
      decimals="-3"
      id="Fact_c6bd4e4afc424a2d8420c06a60f47ae0"
      unitRef="U001">-32110000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20191231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_ac36fcd748b149c7acbbc9368da43ff3"
      unitRef="U001">-31000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20191231"
      decimals="-3"
      id="Fact_15730b40ff0246b78d8922bf1160e648"
      unitRef="U001">25926000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_f7951d06d6554ab2ac3de0649965c94d"
      unitRef="U002">62500</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_7c11255936394d1790d1110b350d4e69"
      unitRef="U001">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_ba00ad813b31432a91b621a6d7bccd9c"
      unitRef="U001">374000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_36fa4b0d0c2943c4a9d59c172a5ea27f"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_TreasuryStockMember"
      decimals="-3"
      id="Fact_7798b2fc4db14ad89d86645d27774816"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_5a9997a96ce7456e87d72192b3864121"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_00bc2d449c0d42698d465fcd012de2e4"
      unitRef="U001">375000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_bde1a24fdcdf4f43bdd5fec00f9026b5"
      unitRef="U002">32725</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_ba358e1edaec4e5bb07f28e6bd92936e"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_b429018f6dce4b3c8b5aa4c689517d37"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_cd4e2f7effd7473bb06997a9f730a832"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_TreasuryStockMember"
      decimals="-3"
      id="Fact_5fe1d5593417455bbf9d5ec5db3f1436"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_7b1d2bc7dd3c40aa8d5863ba270ebead"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_4eb3b776b1ee4a92bfd536a4b4f929f9"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_12a620fd52784274acd8e3cdbca4736f"
      unitRef="U002">1380000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_957cb81078934bc2bcf023db458d2647"
      unitRef="U001">14000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_5551bf874e4b4be8962f4fab2a46fe25"
      unitRef="U001">8723000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_a56b8abe0f394228a3fffe041c8f84bb"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_TreasuryStockMember"
      decimals="-3"
      id="Fact_849662b370ae4d3db2a92070bfab5419"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_8643107028ce4c7b87cc7ce0253a9090"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_33dc9ca0800c40e3a130145e2ea0b309"
      unitRef="U001">8737000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_11304ffcac68456981d4bdef1e4a3c2c"
      unitRef="U002">14088</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_b2a7aa74259040249ea619f91ea2faa1"
      unitRef="U001">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
    <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_9fd8adf31ec44f2a8b8e41c9127e472c"
      unitRef="U001">-41000</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
    <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_286ccfe8aec145669884ccd6be1d3fd4"
      unitRef="U001">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
    <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_TreasuryStockMember"
      decimals="-3"
      id="Fact_1689b9c7597a403db83edac0cb341f89"
      unitRef="U001">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
    <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_dcde440390184888bbcabd083eb7465a"
      unitRef="U001">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
    <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_3ba06fdb429541d99f9df068135d1794"
      unitRef="U001">-41000</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_e45d608f93894eb2a55f0d5975deee39"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_7662728d927c41e385bb4f5f7e16a2ed"
      unitRef="U001">876000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_57e6f2b7019c4a25a47093ea01658a84"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_TreasuryStockMember"
      decimals="-3"
      id="Fact_717e9cc192c642a18f214cd994644da4"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_14223890f7984ce896a48c5d1281a971"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_0979aa66adca4bc1ab406b849e9bf5ad"
      unitRef="U001">876000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_f5acc481762845989420bfed70060550"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_765d086023b84b37899570ce12167caa"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_ffbd3205ffdf4bf78a741a57ea4984a4"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_TreasuryStockMember"
      decimals="-3"
      id="Fact_3ea27a2ce72b478ab9d67c963bd22776"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_36d0ca0e5ed14782b0b3847eaa2ef7dd"
      unitRef="U001">-7000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_1910e6379e244f19a8cf8e6d3a57fae8"
      unitRef="U001">-7000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_53385f43ec19431f85b5ad8efd0aff41"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_60ce58b9af0142c1b3e61b194370944d"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_6afa2e86fb1246f380ba914bc25a2088"
      unitRef="U001">-5630000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_TreasuryStockMember"
      decimals="-3"
      id="Fact_b68d9f5d4c624027ab9c816f072adc94"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20200101to20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_323b1a7876dc41f5a8e9b22b7116182a"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_e759fe1d1421422ba52aeb37e09114ff"
      unitRef="U001">-5630000</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20201231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_ecd0426e5fa44869b0676f3e87f99d8a"
      unitRef="U002">8931385</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="c20201231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_16634b60d45a429889a7650eb49d7c73"
      unitRef="U001">130000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20201231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_480e5eeaf49444deab4a382429aa7ef5"
      unitRef="U001">42536000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20201231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_9cf26f56eac540548a8e7eba2afa2cf5"
      unitRef="U001">19718000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20201231_StatementEquityComponentsAxis_TreasuryStockMember"
      decimals="-3"
      id="Fact_07175478f4c14b8cbda589f0cb9e8a53"
      unitRef="U001">-32110000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20201231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_1bfec91091d442dfbf99920d2fbff08b"
      unitRef="U001">-38000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20201231"
      decimals="-3"
      id="Fact_daadc181d7ea4beaa943e6b1c424e701"
      unitRef="U001">30236000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_dfc34ad3a98e42468999eaf1f51125fc"
      unitRef="U002">97000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_4a6dff39f57d4c8d9c3d5a93762264d7"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_4222c2183b1f47609236144b6463be95"
      unitRef="U001">436000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_98bab54933bd4b8ea13eb5ff122df1b2"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_TreasuryStockMember"
      decimals="-3"
      id="Fact_a10495d46449416fbef6e90909b4c36d"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_d9712c2d5fff4fbbb94a4e917f7cae71"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_aff38c56d73e4402ad7bb722e788e647"
      unitRef="U001">436000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_c655686e313c4ee994276908fc7ddd9f"
      unitRef="U002">50525</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_2ae8080dca9b46aba09762da1239d875"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_738a69a9c8584a46be01ac66f4936af9"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_fa370f5a2b874baf9828153447afd81e"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_TreasuryStockMember"
      decimals="-3"
      id="Fact_fd6ebf1bd614439ab29bc62a2093494d"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_193eb6a28e974805a74af53430081706"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_519091b39ed1465ead2001fb463e5986"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_ed509b25a13f495da7e3610b4c1ad717"
      unitRef="U002">842375</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_8fc550ebb3114b4386595141d71eb064"
      unitRef="U001">9000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_a1594ec7a8f1454887ccb38a1fdcb3b8"
      unitRef="U001">11201000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_1aeb6178667f4b98bbd9aa02d7cbe731"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_TreasuryStockMember"
      decimals="-3"
      id="Fact_3bdaaf6e55154c87a264c00b3889baca"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_deb3f85f6bf84f4b9c5cd01815b64bdd"
      unitRef="U001">0</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_1b4b9e2014a0447d9a21deedc7fcce07"
      unitRef="U001">11210000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_8c5df7a018a74998932911bd4004c4dd"
      unitRef="U002">48396</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_083ead3f275c4d0ca0b9f5bd3d93f14a"
      unitRef="U001">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
    <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_5761852997984bdd8cf30ea0e1d8a606"
      unitRef="U001">-133000</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
    <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_6462c8ca02434764bcd88eb00ff8a8ba"
      unitRef="U001">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
    <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_TreasuryStockMember"
      decimals="-3"
      id="Fact_f3f4014f2e6343b991f3cf620a7a144d"
      unitRef="U001">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
    <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_3fc064fbe6264acc9b0b9d80496d7db2"
      unitRef="U001">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
    <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_eb6a7eec2cf84aefba67720e93dfe071"
      unitRef="U001">-133000</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_f078b5a58ba64c27937509dc745ba715"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_e9115147e286466a950a4850514813e4"
      unitRef="U001">1206000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_f877810ea8d04030b61a644e18b36e9c"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_TreasuryStockMember"
      decimals="-3"
      id="Fact_2440578cae0f46d6b995d02eda2aba68"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_d44e5c8357314344bedd017d93260133"
      unitRef="U001">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_0654707e0cdb4597b9d2b9558777c490"
      unitRef="U001">1206000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_ffcf779217f04473ba4b370332600a6a"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_49c5463e66344ca2ad8c7aca5f59ae23"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_f29ba7ac8770430eaeef7f017d498692"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_TreasuryStockMember"
      decimals="-3"
      id="Fact_47bbcf8706714bf29630558fad88d352"
      unitRef="U001">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_2b280ac9c37d403b906057769afbc8f4"
      unitRef="U001">181000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_ae449a7f3e524605ac573624c901f5bd"
      unitRef="U001">181000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_1f6023f63a3248a691bacd097a0ebe6c"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_d3fc706206a64aafb6c4d240c615c7eb"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_339b0d5ede9c4085bc4fd1e5f8fc18da"
      unitRef="U001">-4145000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_TreasuryStockMember"
      decimals="-3"
      id="Fact_566507c5615d4ae09dfa3068386c2473"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20210101to20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_20c30e1ff43f4772b3191bed42515684"
      unitRef="U001">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_0cfe6d1a0f3543019cd4c882872ff9fa"
      unitRef="U001">-4145000</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20211231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="0"
      id="Fact_2e9a375cc75b455db056e13e2b0091d7"
      unitRef="U002">9872889</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="c20211231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_fed86ef9f87e4ce3abaf47766ecb4589"
      unitRef="U001">139000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20211231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_a410f4a29067434e9a3881e37898ae12"
      unitRef="U001">55246000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20211231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_ebf0ae8a767f49299349ffe281bbddb2"
      unitRef="U001">15573000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20211231_StatementEquityComponentsAxis_TreasuryStockMember"
      decimals="-3"
      id="Fact_e4e57e4bb4c5491ba2c212dfd83d338d"
      unitRef="U001">-32110000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20211231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_eec7a50f27e84fa496c502f9aad07dd4"
      unitRef="U001">143000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20211231"
      decimals="-3"
      id="Fact_296b45cf70914c10a655602d7b14ed0e"
      unitRef="U001">38991000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_ceba85f2f57644d18317e1ae7c3573cf"
      unitRef="U001">-4145000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_639cc490056d4fe4953a99758c6ee7fd"
      unitRef="U001">-5630000</us-gaap:NetIncomeLoss>
    <us-gaap:ShareBasedCompensation
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_35ea5bb483ef46a68646835b4c967b7f"
      unitRef="U001">1206000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_e68c2570db4f437fb3084a861fe573b6"
      unitRef="U001">876000</us-gaap:ShareBasedCompensation>
    <us-gaap:DepreciationAndAmortization
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_008592a550f8459fa4e511bc1f1dfe91"
      unitRef="U001">957000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_1113fc73615b40fea5e1609fd12b43b3"
      unitRef="U001">1342000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_1a2a2f028b704e899a535d651fa1372c"
      unitRef="U001">-2150000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_a171648fc2a540bd96eb67b8d1ebe922"
      unitRef="U001">-367000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:GainLossOnSaleOfProperty
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_4fed4f15c099461c828e80058d5bc458"
      unitRef="U001">-9000</us-gaap:GainLossOnSaleOfProperty>
    <us-gaap:GainLossOnSaleOfProperty
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_0e48d22b297a496197c35ffdeffb3808"
      unitRef="U001">0</us-gaap:GainLossOnSaleOfProperty>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_f1b98056cbc546a4be801242430bc40f"
      unitRef="U001">-272000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_ccd9f48f901147b4b7ed2a2669e6a5e5"
      unitRef="U001">58000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:GainLossOnNonRecourseDebt
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_dc082257c74647e38c451e1c911589c5"
      unitRef="U001">2173000</us-gaap:GainLossOnNonRecourseDebt>
    <us-gaap:GainLossOnNonRecourseDebt
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_771ee614a7a1491ab9c9afff14601b5a"
      unitRef="U001">0</us-gaap:GainLossOnNonRecourseDebt>
    <us-gaap:IncreaseDecreaseInReceivables
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_e2813f6107744104b4491ae61f44d356"
      unitRef="U001">4217000</us-gaap:IncreaseDecreaseInReceivables>
    <us-gaap:IncreaseDecreaseInReceivables
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_15c85fdb773f4852a99e2e133dff87a9"
      unitRef="U001">-2975000</us-gaap:IncreaseDecreaseInReceivables>
    <tact:IncreaseDecreaseInEmployeeRetentionCreditReceivable
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_81817e191e2b4cdf839d968b5bb58cae"
      unitRef="U001">1500000</tact:IncreaseDecreaseInEmployeeRetentionCreditReceivable>
    <tact:IncreaseDecreaseInEmployeeRetentionCreditReceivable
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_ee450c5fcd414b91b4cf28dc2b189e0f"
      unitRef="U001">0</tact:IncreaseDecreaseInEmployeeRetentionCreditReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_2ebf13329fcf45688768709919844bb0"
      unitRef="U001">-3573000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_d352ec321eb24303838c17ec5092e47b"
      unitRef="U001">-876000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidTaxes
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_2106137153854e97bb0df24187f89ea4"
      unitRef="U001">-2210000</us-gaap:IncreaseDecreaseInPrepaidTaxes>
    <us-gaap:IncreaseDecreaseInPrepaidTaxes
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_09ca8fe7480541178225440dce7706d2"
      unitRef="U001">2226000</us-gaap:IncreaseDecreaseInPrepaidTaxes>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_48fd2a69ea044c3094be8d6a7be32c6b"
      unitRef="U001">-322000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_6558819fb97340cf8a2a1c57a5c203e4"
      unitRef="U001">198000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_007595949b08412080bbb19bb55e8a08"
      unitRef="U001">2534000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_da7244b186364c2b841e2d43bb6e9d30"
      unitRef="U001">-1276000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_054224914ac04f3a95b6ece011e81b3d"
      unitRef="U001">592000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_c25c2bd079d143d2b9cbecbe916d741c"
      unitRef="U001">176000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_8f52445b790745bdb9b46ad1155da7da"
      unitRef="U001">-2510000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_b434f83b0b004510913cb328ca21ef43"
      unitRef="U001">-3510000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_80f0ef048d3f42699a98f50970b19d90"
      unitRef="U001">1384000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_b98f649dc8d04621b5bd8d772b39117d"
      unitRef="U001">744000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_73978dc5ddc94bcd835e7df9721c7b41"
      unitRef="U001">8000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_24bd260a459d48d7a2969a753cc1b74c"
      unitRef="U001">0</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <tact:PaymentsForProceedsFromNotesReceivable
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_85d0f9a9066b484d962e445008f9cc9e"
      unitRef="U001">-1598000</tact:PaymentsForProceedsFromNotesReceivable>
    <tact:PaymentsForProceedsFromNotesReceivable
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_83eabc391ea14afabf9df1460ec7a5c3"
      unitRef="U001">600000</tact:PaymentsForProceedsFromNotesReceivable>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_09539b8b35f24da7a009753ac440f5cc"
      unitRef="U001">222000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_21703cbce02e4270a298ae730cd07175"
      unitRef="U001">-1344000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_ee65e2577be24ce59d50ab44ecd288fb"
      unitRef="U001">0</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_90965fe1e13e49c585856d298c274a55"
      unitRef="U001">2756000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_fa8ef5a736c94f8c9f940653df3340b7"
      unitRef="U001">0</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfLinesOfCredit
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_46fe8086331444b887b00e1bfc667845"
      unitRef="U001">2756000</us-gaap:RepaymentsOfLinesOfCredit>
    <us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_3012d43f30854492aac0d687495326ea"
      unitRef="U001">0</us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_55f7c21567674700a35dd43241000bba"
      unitRef="U001">2173000</us-gaap:ProceedsFromIssuanceOfOtherLongTermDebt>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_21344f1d431441d092388e95047ec658"
      unitRef="U001">436000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_22729fd7bac84b99aee72596b65a2dae"
      unitRef="U001">375000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_86d1658532d04c8f970979da7f9bff3e"
      unitRef="U001">12214000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_77d3220bd87f45ea8d8b7c19ea8fe0bf"
      unitRef="U001">9798000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_76555fb8c277417a94337e00b53d8921"
      unitRef="U001">1014000</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_817007efa51141a4a9baa6b848004bb5"
      unitRef="U001">1061000</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_61adcb7413f8412988d1a2807eb68544"
      unitRef="U001">-133000</us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities>
    <us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_1f9159670b7d43bdadf6fb0581321933"
      unitRef="U001">-41000</us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities>
    <us-gaap:PaymentsOfLoanCosts
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_eba35471c6a84211bfe71a21fadff4f9"
      unitRef="U001">31000</us-gaap:PaymentsOfLoanCosts>
    <us-gaap:PaymentsOfLoanCosts
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_e697369e668b467e9f5cb326ebfb50d2"
      unitRef="U001">213000</us-gaap:PaymentsOfLoanCosts>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_0ba7a43d77764ea48c1496ec91bf013a"
      unitRef="U001">11472000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_36e2cbf5b59a45cb8d3f81af925a987e"
      unitRef="U001">11031000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_57ec8182f44c435e85ef169adf390a4d"
      unitRef="U001">-86000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_ace501a1b098466ab17f9d21b694c350"
      unitRef="U001">-21000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_864711d962a646c6943783bf89907460"
      unitRef="U001">9098000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_df7f426545aa45218ed08b386433b35f"
      unitRef="U001">6156000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20201231"
      decimals="-3"
      id="Fact_bdcfa5506a35453d832a5c1def28007d"
      unitRef="U001">10359000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20191231"
      decimals="-3"
      id="Fact_e1dbb260557a4782ab04cc6514791d92"
      unitRef="U001">4203000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20211231"
      decimals="-3"
      id="Fact_4ceb84b4729a4b2abe46a7771bc46e6a"
      unitRef="U001">19457000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20201231"
      decimals="-3"
      id="Fact_5d4cb3a60b2941f9b0e0fbd8ae3f1573"
      unitRef="U001">10359000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_9c20382559664f4b91545255b2fe3df7"
      unitRef="U001">76000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_d5d6175a964042cc8c10e3df324ad686"
      unitRef="U001">64000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaid
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_57de2c03096e4617bdd147d0b0d489a7"
      unitRef="U001">57000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_48ab0d8d08574b368a9a945d787856e2"
      unitRef="U001">46000</us-gaap:IncomeTaxesPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_00128abb69e34c32b9f4234def160872"
      unitRef="U001">82000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_763d100525414ed2bc68b6a12b7ea93a"
      unitRef="U001">25000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:NatureOfOperations
      contextRef="c20210101to20211231"
      id="Text_e73c7be2a9db4e1d84cb9e6ea16c2906">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;1. Description of business&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;TransAct Technologies Incorporated (together with its subsidiaries, &#x201c;TransAct,&#x201d; the &#x201c;Company,&#x201d; &#x201c;we,&#x201d; &#x201c;us,&#x201d; or &#x201c;our&#x201d;), which has its
    headquarters in Hamden, Connecticut and its primary operating facility in Ithaca, New York, operates in one operating segment: software-driven
    technology and printing solutions for high growth markets including food service technology, casino and gaming and POS automation markets.&#160; Our solutions are designed from the ground up based on market and customer requirements and are sold under the
    BOHA!&lt;sup&gt;TM&lt;/sup&gt;, AccuDate&#x2122;, Epic, Ithaca&#xae;, EPICENTRAL and Printrex&#xae; product brands.&#160; We sell our products to original equipment manufacturers, value-added resellers, select distributors, and directly to end-users.&#160; Our product distribution spans
    across the Americas, Europe, the Middle East, Africa, Asia, Australia, New Zealand, the Caribbean Islands and the South Pacific. TransAct also provides world-class service, spare parts, accessories and printing supplies to its growing worldwide
    installed base of products.&#160; We also generate revenue from the after-market side of the business, providing printer and terminal service, consumables and spare parts in addition to revenue from our two software solutions; (i) our line of BOHA! software applications used to automate the back-of-house operations of restaurants, convenience stores and food service operators and (ii) the
    EPICENTRAL Print System (&#x201c;EPICENTRAL&#x201d;), that enables casino operators to create promotional coupons and marketing messages and print them in real time at the slot machine.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Impact of the COVID-19 Pandemic&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In the first quarter of 2020, the COVID-19 pandemic and the resulting social distancing measures, including closures and restricted
    openings of restaurants and casinos implemented by federal, state and local authorities, negatively impacted customer demand and disrupted portions of our supply chain, including delayed product shipments from our two manufacturers located in Thailand and China.&#160; While we began to experience a modest recovery starting in the second half of 2020 into 2021 and expect this recovery to continue
    during 2022, the exact timing and pace of recovery are unknown given uncertainty surrounding responsive measures to the spread of virus variants or any potential future resurgences of the virus and the significant disruption that our customers have
    already experienced and may continue to experience.&#160; In light of this uncertainty, we implemented a number of cost saving measures during 2020 to help mitigate the impact on our financial position and operations and continued to limit discretionary
    spending during 2021.&#160; We are monitoring indicators of demand recovery, including our sales pipeline, customer orders and product shipments to ascertain an estimate of the ultimate impact of the COVID-19 pandemic on our business; however, the length
    and ultimate severity of the reduction in demand due to the pandemic remains uncertain.&lt;/div&gt;

&lt;div style="line-height: 11.4pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;Balance Sheet, Cash Flow and Liquidity.
    &lt;/span&gt;In addition to the expense management actions implemented during 2020, we took the following actions to increase liquidity and strengthen our financial position.&lt;/div&gt;

&lt;div style="line-height: 11.4pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt;"/&gt;

    &lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x25cf;&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;
          &lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Public Offering &#x2013; On October 16, 2020 and August 16, 2021, the Company raised net proceeds of
              $&lt;/span&gt;8.7&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; million and $&lt;/span&gt;11.2&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; million (&lt;/span&gt;including the exercise of the underwriters
            overallotment options on October 16, 2020 and August 20, 2021)&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;, respectively, after deducting underwriting discounts, commissions and offering expenses, through
              underwritten public offerings and sold an aggregate of &lt;/span&gt;1,380,000&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; and &lt;/span&gt;842,375&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; shares of common
              stock, respectively.&lt;/span&gt;&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="line-height: 11.4pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt;"/&gt;

    &lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x25cf;&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;
          &lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;PPP Loan &#x2013; On May 1, 2020, the Company was granted a $&lt;/span&gt;2.2&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; million loan (the &#x201c;PPP Loan&#x201d;) under the Paycheck Protection Program
              (the &#x201c;PPP&#x201d;) administered by the Small Business Administration (&#x201c;SBA&#x201d;) established under Division A, Title I of the Coronavirus Aid, Relief, and Economic Security (&#x201c;CARES&#x201d;) Act, which enabled us to return employees we furloughed earlier in
              2020 to full time employment and to restore &lt;/span&gt;employees to full pay following certain pay cuts&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;.&#160; &lt;/span&gt;On July 8, 2021, we received notice that the PPP Loan
            had been forgiven as of July 1, 2021.&#160; See Note 9 for further details regarding the PPP Loan.&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="line-height: 11.4pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt;"/&gt;

    &lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x25cf;&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;
          &lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Employee Retention Credit &#x2013; &lt;/span&gt;Under the provisions of the CARES Act, the Company is
            eligible for a refundable employee retention credit subject to certain criteria.&#160;&#160;In connection with the CARES Act, the Company recognized the employee retention credit during the fourth quarter of 2021 and recorded $1.5 million as &#x201c;Gain from employee retention credit&#x201d; in the Consolidated Statement of Operations for the year ended December 31, 2021 and the
            related receivable as &#x201c;Employee retention credit receivable&#x201d; in the Consolidated Balance Sheets as of December 31, 2021.&#160; We expect to receive these funds during 2022.&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="line-height: 11.4pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt;"/&gt;

    &lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x25cf;&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;
          &lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;New Credit Facility &#x2013; On March 13, 2020, we entered into a new credit facility with Siena
              Lending Group LLC that provides a revolving credit line of up to $&lt;/span&gt;10.0&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; million, subject to a borrowing base.&lt;/span&gt;&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="line-height: 11.4pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt;"/&gt;

    &lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x25cf;&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: justify;"&gt;
          &lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Reduced Capital Expenditures &#x2013; We limited capital expenditures during 2020 and gradually increased expenses during 2021 as our sales improved.&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="line-height: 11.4pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We may further modify or supplement the expense management measures we have implemented and the actions we have taken to increase
    liquidity as the timing and extent of customer demand recovery develops and supply chains normalize.&lt;/div&gt;

&lt;div style="line-height: 11.4pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;After reviewing whether conditions and/or events raise substantial doubt about our ability to meet future financial obligations over
    the 12 months following the date on which the Consolidated Financial Statements included in this Form 10-K (this &#x201c;Report&#x201d;) were issued, including consideration of the actions taken to manage expenses and liquidity, we believe that our net cash to be
    provided by operations combined with our cash and cash equivalents and borrowing availability under our revolving credit facility will provide sufficient liquidity to fund our current obligations, capital spending, and working capital requirements and
    to comply with the financial covenants of our credit facility over at least 12 months following the date that the Consolidated Financial Statements were issued.&lt;/div&gt;

&lt;div style="line-height: 11.4pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Use of Assumptions and Estimates&lt;/div&gt;

&lt;div style="line-height: 11.4pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Management&#x2019;s belief that the Company will be able to fund its planned operations over the 12 months following the date on which the
    Consolidated Financial Statements were issued is based on assumptions which involve significant judgment and estimates of future revenues, capital expenditures and other operating costs. Our current assumptions are that casinos and restaurants remain
    open and consumer traffic continues to gradually increase during 2022, but that many casinos and restaurants may delay purchases of new slot machines and our BOHA! products, respectively, due to labor shortages and supply issues caused by the
    pandemic.&#160; Based on these assumptions, we anticipate that sales in casino and gaming and food service technology may continue to be negatively impacted for the foreseeable future.&#160; We have performed a sensitivity analysis on these assumptions to
    forecast the potential impact of a slower-than-anticipated recovery and believe that we are positioned to withstand the impact of lower-than-anticipated sales and that we will be able to take additional financial and operational actions to cut costs
    and/or increase liquidity if necessary. These actions may include additional expense reductions and capital raising activities.&lt;/div&gt;

&lt;div style="line-height: 11.4pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In addition, the presentation of the accompanying audited Consolidated Financial Statements requires us to make estimates and judgments
    that affect the reported amounts of assets, liabilities, revenue and expenses, and the disclosure of contingent assets and liabilities.&#160; Our estimates include those related to revenue recognition, inventory obsolescence, the valuation of deferred tax
    assets and liabilities, depreciable lives of equipment, warranty obligations, and contingent liabilities.&#160; We base our estimates on historical experience and on various other assumptions that we believe to be reasonable under the circumstances.&#160; Actual
    results could differ from those estimates used.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Smaller Reporting Company&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;As a smaller reporting company, as defined in Item 10(f)(1) of Regulation S-K, we may choose to prepare our disclosures relying on
    certain scaled disclosure requirements for smaller reporting companies in Regulation S-K and in Article 8 of Regulation S-X.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The scaled disclosure requirements for smaller reporting companies permit us (i) to include less extensive narrative disclosure than
    required of other reporting companies, particularly in the description of executive compensation and (ii) to provide audited financial statements for two fiscal years, in contrast to other reporting companies, which must provide audited financial
    statements for three years.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We may lose our status as a smaller reporting company on the last day of the fiscal year in which (i) our public float exceeds $250
    million as of the last day of the second fiscal quarter or (ii) if we have more than $100 million in annual revenues and (a) have no public float or (b) have a public float more than $700 million.&lt;/div&gt;
</us-gaap:NatureOfOperations>
    <us-gaap:NumberOfOperatingSegments
      contextRef="c20210101to20211231"
      decimals="INF"
      id="Fact_657092ad33464a9480ae98b813318733"
      unitRef="U004">1</us-gaap:NumberOfOperatingSegments>
    <tact:NumberOfSoftwareSolutions
      contextRef="c20211231"
      decimals="INF"
      id="Fact_304467109d7347d8a22d0ae3ebffef66"
      unitRef="U005">2</tact:NumberOfSoftwareSolutions>
    <tact:NumberOfManufacturers
      contextRef="c20211231"
      decimals="INF"
      id="Fact_fd2b4cc99d1b490d9c8369846fb0a10e"
      unitRef="U006">2</tact:NumberOfManufacturers>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="c20201016to20201016"
      decimals="-5"
      id="Fact_4c872818bc0344d8b41216fe5815b205"
      unitRef="U001">8700000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="c20210816to20210816"
      decimals="-5"
      id="Fact_b18eae0e4fc34adcb464fb979c64fc5b"
      unitRef="U001">11200000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="c20201016to20201016"
      decimals="0"
      id="Fact_14763882aac34f2ab7d009d7fdcfaf2d"
      unitRef="U002">1380000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="c20210816to20210816"
      decimals="0"
      id="Fact_d49348d3935243d0a96f5e9152cd70b4"
      unitRef="U002">842375</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="c20200501_DebtInstrumentAxis_PaycheckProtectionProgramLoanMember"
      decimals="-5"
      id="Fact_ff0f257168b845a992a28dd3b6245ced"
      unitRef="U001">2200000</us-gaap:DebtInstrumentFaceAmount>
    <tact:GainFromEmployeeRetentionCredit
      contextRef="c20210101to20211231"
      decimals="-5"
      id="Fact_903e406eb1d743e8ac89e2d2f819f770"
      unitRef="U001">1500000</tact:GainFromEmployeeRetentionCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="-5"
      id="Fact_eba0349e625d42388acf7121b5ad4e6e"
      unitRef="U001">10000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock
      contextRef="c20210101to20211231"
      id="Text_edf892add4d247548bdc5d9acfee7ecc">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2. Summary of significant accounting policies&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Principles of
      consolidation: &lt;/span&gt;The accompanying Consolidated Financial Statements include the accounts of TransAct and its wholly-owned subsidiaries, which require consolidation, after the elimination of intercompany accounts, transactions and unrealized
    profit. &lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Use of estimates&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;:&lt;/span&gt; The preparation of Consolidated Financial Statements in conformity with accounting principles generally accepted in the United States of America
    (&#x201c;GAAP&#x201d;) requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities, revenue and expenses, and disclosure of contingent assets and liabilities as of the date of the Consolidated Financial Statements
    and the reported amounts of sales and expenses during the reporting period. Actual results could differ from those estimates.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Segment reporting&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;: &lt;/span&gt;We apply the provisions of the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) Accounting Standards Codification (&#x201c;ASC&#x201d;) 280, &#x201c;Segment Reporting.&#x201d;&#160; We
    view our operations and manage our business as one segment: the design, development and marketing of software-driven technology and printing
    solutions and providing printer and terminal related software, services, supplies and spare parts.&#160; Factors used to identify TransAct&#x2019;s single operating segment include the organizational structure of the Company and the financial information available
    for evaluation by the chief operating decision-maker in making decisions about how to allocate resources and assess performance.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;:&lt;/span&gt; We consider all highly liquid investments with a maturity date of three months or less at date of purchase to be cash equivalents.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Allowance for
      doubtful accounts&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;:&lt;/span&gt; We establish an allowance for doubtful accounts to ensure trade receivables are valued appropriately.&#160; We maintain an
    allowance for doubtful accounts based on a variety of factors, including the length of time receivables are past due, significant one-time events and historical experience.&#160; We record a specific allowance for individual accounts when we become aware of
    a customer&#x2019;s inability to meet its financial obligations, such as in the case of bankruptcy filings or deterioration in the customer&#x2019;s operating results or financial position.&#160; If circumstances related to customers change, we further adjust estimates
    of the recoverability of receivables.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the activity recorded in the valuation account for accounts receivable:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;220&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;221&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Additions charged to costs and expenses&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deductions&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;219&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;220&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: left; line-height: 13.7pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Inventories:&lt;/span&gt; Inventories are
    stated at the lower of cost (principally standard cost, which approximates actual cost on a first-in, first-out basis) or net realizable value.&#160; We review net realizable value based on estimated selling prices in the ordinary course of business less
    estimated costs of completions, disposal and transportation, historical usage and estimates of future demand.&#160; Based on these reviews, inventory write-downs are recorded, as necessary, to reflect estimated obsolescence, excess quantities and net
    realizable value.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Fixed assets:&lt;/span&gt; Fixed assets are
    stated at cost.&#160; Depreciation is recorded using the straight-line method over the estimated useful lives.&#160; The estimated useful life of tooling is five years;
    machinery and equipment is ten years; furniture and office equipment is five years to ten years; and computer software and equipment is three years to seven years.&#160; Leasehold
    improvements are amortized over the shorter of the term of the lease or the useful life of the asset.&#160; Costs related to repairs and maintenance are expensed as incurred.&#160; The costs of sold or retired assets are removed from the related asset and
    accumulated depreciation accounts and any gain or loss is recognized.&#160; Depreciation expense was $0.7 million and $1.0 million in 2021 and 2020, respectively.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Leases:&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; We account for leases in accordance with ASC 842, &#x201c;Leases&#x201d; (&#x201c;ASC 842&#x201d;), which &lt;/span&gt;requires lessees to apply a dual approach, classifying leases as either finance or operating leases based on
    the principle of whether or not the lease is effectively a financed purchase by the lessee. This classification determines whether lease expense is recognized based on an effective interest method for finance leases or on a straight-line basis over the
    term of the lease for operating leases. A lessee is also required to record a right-of-use asset and a lease liability for all leases with a term of greater than 12 months regardless of their classification.&#160; Leases with a term of 12 months or less are
    accounted for based on existing guidance for operating leases.&#160; If risks and rewards are conveyed without the transfer of control, the lease is treated as financing. If the lessor does not convey risks and rewards or control, the lease is treated as
    operating.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We have elected certain practical expedients available under ASC 842 upon adoption. We have applied the practical expedient for
    short-term leases. We have lease agreements that include lease and non-lease components, and we have not elected the practical expedients to combine these components for any of our leases.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We enter into lease agreements for the use of real estate space and certain equipment under operating leases and we have no financing
    leases. We determine if an arrangement contains a lease at inception. Our leases are included in &#x201c;Right-of-use asset&#x201d; and &#x201c;Lease liability&#x201d; in our Consolidated Balance Sheets.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Right of use assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to
    make lease payments arising from the lease. Lease right of use assets and liabilities are recognized at the commencement date of the lease based on the present value of lease payments over the lease term. On February 28, 2020, we entered into an
    amendment to extend the lease on our facility in Ithaca, New York, which resulted in recording an additional right-of-use-asset and lease liability of $1.5
    million.&#160; The lease, which was last amended on January 14, 2016, was scheduled to expire on May 31, 2021.&#160; The lease amendment provides for an extension of the lease for &lt;span style="-sec-ix-hidden:Fact_0a53edda34ca481aa7934ea4ab7d186a"&gt;four&lt;/span&gt; additional years from June 1, 2021 to May 31, 2025.&#160; On April 30, 2021, we entered into an amendment to modify the expiration date of our lease on our Hamden, CT facility.&#160; The lease, which
    was last amended on January 3, 2017, was scheduled to expire on April 30, 2027.&#160; The lease amendment modified the expiration date to October 31, 2025.&#160; The modification resulted in reducing the right-of-use-asset and lease liability by $0.3 million.&#160; Lease expense is recognized on a straight-line basis over the lease term.&#160; As most of our leases do not provide an implicit rate, the
    Company determines its incremental borrowing rate by using the rate of interest that the Company would have to pay to borrow on a collateralized basis over a similar term, an amount equal to the lease payments in a similar economic environment.&#160; Our
    lease right of use asset excludes lease incentives. Our leases have remaining lease terms of one year to five years, some of which include options to extend.&#160; The exercise of lease renewal options is at our sole discretion and our lease right of use assets and liabilities reflect only
    the options we are reasonably certain that we will exercise. Lease expense is recognized on a straight-line basis over the lease term.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Goodwill and
      Intangible assets&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;:&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; We acquire businesses in purchase
      transactions that result in the recognition of goodwill and intangible assets. The determination of the value of intangible assets requires management to make estimates and assumptions. In accordance with ASC 350-20 &#x201c;Goodwill,&#x201d; acquired goodwill is
      not amortized but is subject to impairment testing at least annually and when an event occurs or circumstances change that indicate it is more likely than not an impairment exists.&#160; &lt;/span&gt;We perform a fair value-based impairment test to the
    carrying value of goodwill and indefinite-lived intangible assets on an annual basis (as of December 31) and, if certain events or circumstances indicate that an impairment loss may have been incurred, on an interim basis.&#160; The Company utilizes the
    option to first assess qualitative factors to determine whether it is necessary to perform the Step 1 quantitative goodwill impairment test in accordance with the applicable accounting standards. Under the qualitative assessment, management considers
    relevant events and circumstances including but not limited to macroeconomic conditions, industry and market considerations, Company performance and events directly affecting the Company. If the Company determines that the Step 1 quantitative
    impairment test is required, management estimates the fair value of the reporting unit primarily using the income approach, which reflects management&#x2019;s cash flow projections, and also evaluates the fair value using the market approach. &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Factors considered that may trigger an interim period impairment review of either acquired goodwill or intangible assets are: significant underperformance relative to expected
      historical or projected future operating results; significant changes in the manner of use of acquired assets or the strategy for the overall business; significant negative industry or economic trends; and significant decline in market capitalization
      relative to net book value. Finite lived intangible assets are amortized and are tested for impairment when appropriate.&lt;/span&gt;&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;As of December 31, 2021, we have determined that no goodwill or intangible asset impairment has occurred and the fair value of goodwill was substantially higher than our carrying value based on our assessment as of December 31, 2021 when our annual review for impairment was performed.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; margin-bottom: 8pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Revenue
      recognition:&lt;/span&gt; We account for revenue in accordance with ASC Topic 606: Revenue from Contracts with Customers.&#160; In accordance with ASC 606, a performance obligation is a promise in a contract with a customer to transfer a distinct good or
    service to the customer. Some of our contracts with customers contain a single performance obligation, while other contracts contain multiple performance obligations (most commonly when contracts include a hardware product, software and extended
    warranties).&#160; A contract&#x2019;s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The transaction price is determined based on the consideration to which the Company will be entitled in exchange for transferring
    services to the customer.&#160; To the extent the transaction price includes variable consideration, such as price protection, reserves for returns and other allowances, the Company estimates the amount of variable consideration that should be included in
    the transaction price utilizing either the &#x201c;expected value&#x201d; method or the &#x201c;most likely amount&#x201d; method depending on the nature of the variable consideration.&#160; Variable consideration is included in the transaction price if, in the Company&#x2019;s judgment, it
    is probable that a significant future reversal of cumulative revenue under the contract will not occur.&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;For a majority of our revenue, which consists of printers, terminals, consumables, and replacement parts, the Company recognizes
    revenue as of a point of time.&#160; The transaction price is recognized upon shipment of the order when control of the goods is transferred to the customer and at the time the performance obligation is fulfilled.&#160; We also sell a software solution in our
    casino and gaming market, EPICENTRAL, that enables casino operators to create promotional coupons and marketing messages and to print them in real time at the slot machine.&#160; EPICENTRAL is primarily comprised of both a software component, which is
    licensed to the customer, and a hardware component.&#160; EPICENTRAL software and hardware are integrated to deliver the system&#x2019;s full functionality.&#160; The transaction prices from EPICENTRAL software license and hardware are recognized upon installation and
    formal acceptance by the customer when control of the license is transferred to the customer.&#160; For out-of-warranty repairs, the transaction price is recognized after the repair work is completed and the printer or terminal is returned to the customer,
    as control of the product is transferred to the customer and our performance obligation is completed.&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Performance obligations are satisfied over time if the customer receives the benefits as we perform work, if the customer controls the
    asset as it is being produced, or if the product being produced for the customer has no alternative use and we have a contractual right to payment.&#160; For our separately priced extended warranty, BOHA! cloud-based software applications, technical support
    for our food service technology terminals and maintenance agreements (including free one-year maintenance received by customers upon completion
    of EPICENTRAL installation) revenue is recognized over time as the customer receives the benefit.&#160; The transaction price from the maintenance services is recognized ratably over time, using output methods, as control of the services is transferred to
    the customer.&#160; Our cloud-based BOHA! software allows customers to use hosted software over the contract period on a subscription basis without taking possession of the software and the subscription price is recognized ratably over the contract period.&#160;
    For extended warranties, the transaction price is recognized ratably over the warranty period, using output methods, as control of the services is transferred to the customer.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;When there is more than one performance obligation in a customer arrangement, the Company typically uses the &#x201c;standalone selling price&#x201d;
    method to determine the transaction price to allocate to each performance obligation. The Company sells the performance obligations separately and has established standalone selling prices for its products and services. In the case of an overall price
    discount, the discount is applied to each performance obligation proportionately based on standalone selling price. To determine the standalone selling price for initial EPICENTRAL installations, the Company uses the adjusted market assessment
    approach.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;For contracts with terms of less than 12 months, the Company expenses sales commissions as they are incurred, since the expected
    amortization period of the cost to obtain a contract is less than 12 months.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Disaggregation of revenue&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table disaggregates our revenue by market type, as we believe it best depicts how the nature, amount, timing and uncertainty of
    our revenue and cash flows are affected by economic factors.&#160; Sales and usage-based taxes are excluded from revenues.&lt;/div&gt;

&lt;div style="line-height: 11.05pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31, 2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Food service technology&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,738&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;887&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;12,625&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;POS automation&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,817&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,825&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Casino and gaming&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,173&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,129&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15,302&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Printrex&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;171&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;460&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;631&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,501&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;502&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,003&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 16.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;32,400&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,986&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;39,386&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="line-height: 12.3pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31, 2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Food service technology&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,956&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;778&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,734&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;POS automation&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,763&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,770&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Casino and gaming&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,852&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,127&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,979&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Lottery&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;817&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;817&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Printrex&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;83&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;217&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;300&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,262&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;733&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,995&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 16.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;24,733&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,862&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;30,595&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: left; line-height: 14.75pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Contract balances&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Contract assets consist of unbilled receivables.&#160; Pursuant to the over-time revenue recognition model, revenue may be recognized prior
    to the customer being invoiced. An unbilled receivable is recorded to reflect revenue that is recognized when such revenue exceeds the amount invoiced to the customer. Unbilled receivables are separated into current and non-current assets and included
    within &#x201c;Accounts Receivable&#x201d; and &#x201c;Other Non-Current Assets&#x201d; on the Consolidated Balance Sheets.&#160; We first recorded contract assets during 2020 upon the start of a long-term BOHA! contract.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Contract liabilities consist of customer prepayments and deferred revenue.&#160; Customer prepayments are reported as &#x201c;Accrued Liabilities&#x201d;
    in current liabilities in the Consolidated Balance Sheets and represent customer payments made in advance of performance obligations in instances where credit has not been extended and is recognized as revenue when the performance obligation is
    complete.&#160; Deferred revenue is reported separately in current liabilities and non-current liabilities and consists of our extended warranty contracts, technical support for our food service technology terminals, EPICENTRAL maintenance contracts and
    prepaid software subscriptions for our BOHA! software applications, and is recognized as revenue as (or when) we perform under the contract.&#160; The increase in current and non-current deferred revenue in 2021 compared to 2020 was primarily due to
    increased BOHA! software subscriptions and increased extended warranty contracts on our BOHA! hardware products.&#160; During the year ended December 31, 2021,
    we recognized revenue of $0.7 million related to our contract liabilities as of December 31, 2020. &lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net contract (liabilities) assets consist of the following:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Unbilled receivables, current&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;314&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;290&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Unbilled receivables, non-current&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;308&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;591&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Customer pre-payments&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(99&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(216&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred revenue, current&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(805&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(504&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred revenue, non-current&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(186&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(111&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net contract (liabilities) assets&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(468&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;50&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: justify; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Remaining performance obligations&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Remaining performance obligations represent the transaction price of firm orders for which a good or service has not been delivered to
    our customer.&#160; As of December 31, 2021, the aggregate amount of the transaction price allocated to remaining performance obligations was $10.5 million.&#160; The Company expects to recognize revenue on $10.1
    million of our remaining performance obligations within the next 12 months and $0.4 million within the next &lt;span style="-sec-ix-hidden:Fact_0fb767fdbb19460d8f1b18e429c9fbeb"&gt;24&lt;/span&gt; months.&lt;/div&gt;

&lt;div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Concentration of credit
      risk:&lt;/span&gt;&#160; Financial instruments that potentially expose us to concentrations of credit risk are limited to cash and cash equivalents held by our banks in excess of insured limits and accounts receivable.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accounts receivable from customers representing 10% or more of total accounts receivable were as follows:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Chain Link Services&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International Gaming Technology (&#x201c;IGT&#x201d;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;NCR Corporation&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Sales to customers representing 10% or more of total net sales were as follows:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;IGT&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: left; line-height: 13.7pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Warranty:&lt;/span&gt; We generally warrant our
    products for up to 24 months and record the estimated cost of such product warranties at the time the sale is recorded.&#160; Estimated warranty
    costs are based upon actual past experience of product repairs and the related estimated cost of labor and material to make the necessary repairs.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the activity recorded in the accrued product warranty liability:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;140&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;215&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranties issued&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;44&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;56&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranty settlements&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(83&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(131&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;101&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;140&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$79 thousand and $112 thousand of the accrued product warranty liability was classified as current in Accrued liabilities at December 31, 2021 and 2020, respectively.&#160; The remaining
    $22 thousand and $28 thousand of the
    accrued product warranty liability as of December 31, 2021 and 2020, respectively, was classified as long-term in Other liabilities.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Engineering,



      design and product development:&lt;/span&gt; Engineering, design and product development expenses include expenses incurred in connection with specialized engineering and design to introduce new products and to customize existing products, and are expensed
    as a component of operating expenses as incurred.&#160; We recorded $7.5 million and $5.7 million of research and development expenses in 2021 and 2020, respectively.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Costs incurred in the engineering, design and product development of a computer software product are charged to expense until
    technological feasibility has been established, at which point all material software costs are capitalized within Intangible assets in our Consolidated Balance Sheet until the product is available for general release to customers.&#160; While judgment is
    required in determining when technological feasibility of a product is established, we have determined that it is reached after all high-risk development issues have been documented in a formal detailed plan design.&#160; The amortization of these costs
    have been included in cost of sales over the estimated life of the product.&#160; During 2019, we contracted several third-parties to develop software for our food service technology products, the cost for which we capitalized.&#160; Unamortized development
    costs for such software were $396 thousand as of December 31, 2021.&#160; The total amount charged to cost of sales for capitalized software development costs was $154
    thousand and $153 thousand in 2021
    and 2020, respectively.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Advertising:&lt;/span&gt; Advertising costs are
    expensed as incurred.&#160; Advertising expenses, which are included in selling and marketing expense on the accompanying Consolidated Statements of Operations, for 2021 and 2020 totaled $1.8 million and $0.7 million, respectively. These expenses include items such as
    consulting and professional services, tradeshows, and print advertising.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Income taxes:&lt;/span&gt; The income tax
    amounts reflected in the accompanying Consolidated Financial Statements are accounted for under the liability method in accordance with ASC 740, &#x201c;Income Taxes&#x201d; (&#x201c;ASC 740&#x201d;).&#160; Deferred tax assets and liabilities are recognized for the estimated future
    tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards.&#160; Deferred tax assets and liabilities are
    measured using enacted tax rates in effect for the year in which those temporary differences are expected to be recovered or settled.&#160; We assess the likelihood that net deferred tax assets will be realized from future taxable income, and to the extent
    that we believe that realization is not likely, we establish a valuation allowance.&#160; In accordance with ASC 740, we identified, evaluated and measured the amount of benefits to be recognized for our tax return positions. &lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Foreign currency
      translation:&lt;/span&gt; The financial position and results of operations of our foreign subsidiary in the UK are measured using local currency as the functional currency.&#160; Assets and liabilities of such subsidiary have been translated into U.S. dollars
    at the year-end exchange rate, related sales and expenses have been translated at the exchange rate as of the date the transaction was recognized, and shareholders&#x2019; equity has been translated at historical exchange rates.&#160; The resulting translation
    gains or losses, net of tax, are recorded in shareholders&#x2019; equity as a cumulative translation adjustment, which is a component of accumulated other comprehensive income and loss.&#160; Foreign currency transaction gains and losses, including those related
    to intercompany balances, are recognized in Other, net on the Consolidated Statements of Operations.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Share-based payments:&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;&#160;&lt;/span&gt;At December 31, 2021, we have share-based
    employee compensation plans, which are described more fully in Note 10 - Stock incentive plans.&#160; We account for those plans under the recognition and measurement principles of ASC 718, &#x201c;Compensation &#x2013; Stock Compensation.&#x201d;&#160; Share-based compensation
    expense is measured at the grant date, based on the estimated fair value of the award, and is recognized as expense over the employee&#x2019;s requisite service period.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We use the Black-Scholes option-pricing model to calculate the fair value of share-based awards.&#160; The key assumptions for this
    valuation method include the expected term of the option, stock price volatility, risk-free interest rate, dividend yield, market price of our underlying stock and exercise price.&#160; Many of these assumptions require judgment and are highly sensitive in
    the determination of compensation expense.&#160; Forfeitures are recognized as they occur.&lt;/div&gt;

&lt;div style="line-height: 11.05pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Net loss per
      share:&lt;/span&gt; We report net income or loss per share in accordance with ASC 260, &#x201c;Earnings per Share (EPS).&#x201d; Under this guidance, basic EPS, which excludes dilution, is computed by dividing income or loss available to common shareholders by the
    weighted average number of common shares outstanding for the period.&#160; Diluted EPS reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock.&#160; Diluted EPS
    includes in-the-money stock options using the treasury stock method.&#160; During a loss period, the assumed exercise of in-the-money stock options has an anti-dilutive effect, and therefore, these instruments are excluded from the computation of diluted
    EPS.&#160; See Note 12 - Earnings per share.&lt;/div&gt;
</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="c20210101to20211231"
      id="Text_a05ed4af955d48f9a8e48d290aa3a0e8">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Principles of
      consolidation: &lt;/span&gt;The accompanying Consolidated Financial Statements include the accounts of TransAct and its wholly-owned subsidiaries, which require consolidation, after the elimination of intercompany accounts, transactions and unrealized
    profit. &lt;/div&gt;
</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="c20210101to20211231"
      id="Text_b1b972a8872d4c509b46c4009efc9793">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Use of estimates&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;:&lt;/span&gt; The preparation of Consolidated Financial Statements in conformity with accounting principles generally accepted in the United States of America
    (&#x201c;GAAP&#x201d;) requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities, revenue and expenses, and disclosure of contingent assets and liabilities as of the date of the Consolidated Financial Statements
    and the reported amounts of sales and expenses during the reporting period. Actual results could differ from those estimates.&lt;/div&gt;
</us-gaap:UseOfEstimates>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock
      contextRef="c20210101to20211231"
      id="Text_04764b470eaa42c684770ef0114aa186">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Segment reporting&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;: &lt;/span&gt;We apply the provisions of the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) Accounting Standards Codification (&#x201c;ASC&#x201d;) 280, &#x201c;Segment Reporting.&#x201d;&#160; We
    view our operations and manage our business as one segment: the design, development and marketing of software-driven technology and printing
    solutions and providing printer and terminal related software, services, supplies and spare parts.&#160; Factors used to identify TransAct&#x2019;s single operating segment include the organizational structure of the Company and the financial information available
    for evaluation by the chief operating decision-maker in making decisions about how to allocate resources and assess performance.&lt;/div&gt;
</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="c20210101to20211231"
      decimals="INF"
      id="Fact_a646e39195854e3cb22aeb85d83e92c2"
      unitRef="U004">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="c20210101to20211231"
      id="Text_0e53aba468e44a79aa7368b3cac37178">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;:&lt;/span&gt; We consider all highly liquid investments with a maturity date of three months or less at date of purchase to be cash equivalents.&lt;/div&gt;
</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy
      contextRef="c20210101to20211231"
      id="Text_d375ffa594664df48699e7bb444d3aa8">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Allowance for
      doubtful accounts&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;:&lt;/span&gt; We establish an allowance for doubtful accounts to ensure trade receivables are valued appropriately.&#160; We maintain an
    allowance for doubtful accounts based on a variety of factors, including the length of time receivables are past due, significant one-time events and historical experience.&#160; We record a specific allowance for individual accounts when we become aware of
    a customer&#x2019;s inability to meet its financial obligations, such as in the case of bankruptcy filings or deterioration in the customer&#x2019;s operating results or financial position.&#160; If circumstances related to customers change, we further adjust estimates
    of the recoverability of receivables.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the activity recorded in the valuation account for accounts receivable:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;220&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;221&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Additions charged to costs and expenses&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deductions&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;219&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;220&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy>
    <us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock
      contextRef="c20210101to20211231"
      id="Text_9d4323ec57024da98dadb1ad2d0eac8d">
&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the activity recorded in the valuation account for accounts receivable:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;220&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;221&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Additions charged to costs and expenses&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deductions&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;219&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;220&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_54c7e0114c9f4e3c8e7f7fc5d359b84e"
      unitRef="U001">220000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20191231"
      decimals="-3"
      id="Fact_24550f41064f4699b2a6470eb28f87ca"
      unitRef="U001">221000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_79850dfc035b452d92bd32d37f6a015f"
      unitRef="U001">0</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_fbdb6c138e164eeba791fde79cec7242"
      unitRef="U001">1000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_ca60a0292ed24aac9eb3e69c0d11dffd"
      unitRef="U001">1000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_742a4a19d0fd4e06b6df6c974f738e87"
      unitRef="U001">2000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_d58463c1625f4ecda4dde637568c42e6"
      unitRef="U001">219000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_30cb65d6a5ed442d96492eeda380c219"
      unitRef="U001">220000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="c20210101to20211231"
      id="Text_cbf9ab1a6272485593a81172e5594a9f">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Inventories:&lt;/span&gt; Inventories are
    stated at the lower of cost (principally standard cost, which approximates actual cost on a first-in, first-out basis) or net realizable value.&#160; We review net realizable value based on estimated selling prices in the ordinary course of business less
    estimated costs of completions, disposal and transportation, historical usage and estimates of future demand.&#160; Based on these reviews, inventory write-downs are recorded, as necessary, to reflect estimated obsolescence, excess quantities and net
    realizable value.&lt;/div&gt;
</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="c20210101to20211231"
      id="Text_aa794ae16528441eb764ae2ec6921921">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Fixed assets:&lt;/span&gt; Fixed assets are
    stated at cost.&#160; Depreciation is recorded using the straight-line method over the estimated useful lives.&#160; The estimated useful life of tooling is five years;
    machinery and equipment is ten years; furniture and office equipment is five years to ten years; and computer software and equipment is three years to seven years.&#160; Leasehold
    improvements are amortized over the shorter of the term of the lease or the useful life of the asset.&#160; Costs related to repairs and maintenance are expensed as incurred.&#160; The costs of sold or retired assets are removed from the related asset and
    accumulated depreciation accounts and any gain or loss is recognized.&#160; Depreciation expense was $0.7 million and $1.0 million in 2021 and 2020, respectively.&lt;/div&gt;
</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_ToolsDiesAndMoldsMember"
      id="Fact_c55284f1f0b14297ba96b72f42df18f4">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember"
      id="Fact_67bce9e49b1b4d1a81deb051c338f6c6">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MinimumMember"
      id="Fact_bdeebf1f667341de9916364f3e13afda">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MaximumMember"
      id="Fact_a3e2bf03876e48b08531ffe5083ce955">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MinimumMember"
      id="Fact_c2156240a61b498494d63e3fb99a6dd9">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="c20210101to20211231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MaximumMember"
      id="Fact_80115fe7917a4176a9d8ba88323953b8">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:Depreciation
      contextRef="c20210101to20211231"
      decimals="-5"
      id="Fact_508ee110d013442e8b1aacaba6884e97"
      unitRef="U001">700000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="c20200101to20201231"
      decimals="-5"
      id="Fact_411d12ae6f564b61856a47ed68aa518f"
      unitRef="U001">1000000.0</us-gaap:Depreciation>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="c20210101to20211231"
      id="Text_3b66bdb6653c45f5890204e3efcb6f7b">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Leases:&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; We account for leases in accordance with ASC 842, &#x201c;Leases&#x201d; (&#x201c;ASC 842&#x201d;), which &lt;/span&gt;requires lessees to apply a dual approach, classifying leases as either finance or operating leases based on
    the principle of whether or not the lease is effectively a financed purchase by the lessee. This classification determines whether lease expense is recognized based on an effective interest method for finance leases or on a straight-line basis over the
    term of the lease for operating leases. A lessee is also required to record a right-of-use asset and a lease liability for all leases with a term of greater than 12 months regardless of their classification.&#160; Leases with a term of 12 months or less are
    accounted for based on existing guidance for operating leases.&#160; If risks and rewards are conveyed without the transfer of control, the lease is treated as financing. If the lessor does not convey risks and rewards or control, the lease is treated as
    operating.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We have elected certain practical expedients available under ASC 842 upon adoption. We have applied the practical expedient for
    short-term leases. We have lease agreements that include lease and non-lease components, and we have not elected the practical expedients to combine these components for any of our leases.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We enter into lease agreements for the use of real estate space and certain equipment under operating leases and we have no financing
    leases. We determine if an arrangement contains a lease at inception. Our leases are included in &#x201c;Right-of-use asset&#x201d; and &#x201c;Lease liability&#x201d; in our Consolidated Balance Sheets.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Right of use assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to
    make lease payments arising from the lease. Lease right of use assets and liabilities are recognized at the commencement date of the lease based on the present value of lease payments over the lease term. On February 28, 2020, we entered into an
    amendment to extend the lease on our facility in Ithaca, New York, which resulted in recording an additional right-of-use-asset and lease liability of $1.5
    million.&#160; The lease, which was last amended on January 14, 2016, was scheduled to expire on May 31, 2021.&#160; The lease amendment provides for an extension of the lease for &lt;span style="-sec-ix-hidden:Fact_0a53edda34ca481aa7934ea4ab7d186a"&gt;four&lt;/span&gt; additional years from June 1, 2021 to May 31, 2025.&#160; On April 30, 2021, we entered into an amendment to modify the expiration date of our lease on our Hamden, CT facility.&#160; The lease, which
    was last amended on January 3, 2017, was scheduled to expire on April 30, 2027.&#160; The lease amendment modified the expiration date to October 31, 2025.&#160; The modification resulted in reducing the right-of-use-asset and lease liability by $0.3 million.&#160; Lease expense is recognized on a straight-line basis over the lease term.&#160; As most of our leases do not provide an implicit rate, the
    Company determines its incremental borrowing rate by using the rate of interest that the Company would have to pay to borrow on a collateralized basis over a similar term, an amount equal to the lease payments in a similar economic environment.&#160; Our
    lease right of use asset excludes lease incentives. Our leases have remaining lease terms of one year to five years, some of which include options to extend.&#160; The exercise of lease renewal options is at our sole discretion and our lease right of use assets and liabilities reflect only
    the options we are reasonably certain that we will exercise. Lease expense is recognized on a straight-line basis over the lease term.&lt;/div&gt;
</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="c20200228to20200228_PropertyPlantAndEquipmentByTypeAxis_BuildingMember"
      decimals="-5"
      id="Fact_49bdaef897564157a284c3b9f58d86a6"
      unitRef="U001">1500000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <tact:IncreaseDecreaseInOperatingLeaseRightOfUseAsset
      contextRef="c20200228to20200228_PropertyPlantAndEquipmentByTypeAxis_BuildingMember"
      decimals="-5"
      id="Fact_2c81c920ef124a8ba0f2fcf6b9b1663b"
      unitRef="U001">1500000</tact:IncreaseDecreaseInOperatingLeaseRightOfUseAsset>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="c20210420to20210420_PropertyPlantAndEquipmentByTypeAxis_FacilityInHamdenConnecticutMember"
      decimals="-5"
      id="Fact_9e5ca2725025413dbc30fb8c2ed64c91"
      unitRef="U001">-300000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <tact:IncreaseDecreaseInOperatingLeaseRightOfUseAsset
      contextRef="c20210420to20210420_PropertyPlantAndEquipmentByTypeAxis_FacilityInHamdenConnecticutMember"
      decimals="-5"
      id="Fact_2e15e2dee19941d98715d361c9e2a66a"
      unitRef="U001">-300000</tact:IncreaseDecreaseInOperatingLeaseRightOfUseAsset>
    <us-gaap:LesseeOperatingLeaseRemainingLeaseTerm
      contextRef="c20211231_RangeAxis_MinimumMember"
      id="Fact_ff2d98cf833d46869c94d01a510e3055">P1Y</us-gaap:LesseeOperatingLeaseRemainingLeaseTerm>
    <us-gaap:LesseeOperatingLeaseRemainingLeaseTerm
      contextRef="c20211231_RangeAxis_MaximumMember"
      id="Fact_821078352b4e4b0f9e6ec5d60e1f2bce">P5Y</us-gaap:LesseeOperatingLeaseRemainingLeaseTerm>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock
      contextRef="c20210101to20211231"
      id="Text_980b65c72a8b4e72b76eb381dcf66c9b">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Goodwill and
      Intangible assets&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;:&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; We acquire businesses in purchase
      transactions that result in the recognition of goodwill and intangible assets. The determination of the value of intangible assets requires management to make estimates and assumptions. In accordance with ASC 350-20 &#x201c;Goodwill,&#x201d; acquired goodwill is
      not amortized but is subject to impairment testing at least annually and when an event occurs or circumstances change that indicate it is more likely than not an impairment exists.&#160; &lt;/span&gt;We perform a fair value-based impairment test to the
    carrying value of goodwill and indefinite-lived intangible assets on an annual basis (as of December 31) and, if certain events or circumstances indicate that an impairment loss may have been incurred, on an interim basis.&#160; The Company utilizes the
    option to first assess qualitative factors to determine whether it is necessary to perform the Step 1 quantitative goodwill impairment test in accordance with the applicable accounting standards. Under the qualitative assessment, management considers
    relevant events and circumstances including but not limited to macroeconomic conditions, industry and market considerations, Company performance and events directly affecting the Company. If the Company determines that the Step 1 quantitative
    impairment test is required, management estimates the fair value of the reporting unit primarily using the income approach, which reflects management&#x2019;s cash flow projections, and also evaluates the fair value using the market approach. &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Factors considered that may trigger an interim period impairment review of either acquired goodwill or intangible assets are: significant underperformance relative to expected
      historical or projected future operating results; significant changes in the manner of use of acquired assets or the strategy for the overall business; significant negative industry or economic trends; and significant decline in market capitalization
      relative to net book value. Finite lived intangible assets are amortized and are tested for impairment when appropriate.&lt;/span&gt;&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;As of December 31, 2021, we have determined that no goodwill or intangible asset impairment has occurred and the fair value of goodwill was substantially higher than our carrying value based on our assessment as of December 31, 2021 when our annual review for impairment was performed.&lt;/div&gt;
</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:GoodwillAndIntangibleAssetImpairment
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_ca1af0f842de46e8ba921bccaeffb2c9"
      unitRef="U001">0</us-gaap:GoodwillAndIntangibleAssetImpairment>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="c20210101to20211231"
      id="Text_a1a709585b10474292c74696e24e91d9">
&lt;div style="text-align: justify; line-height: 10.25pt; margin-bottom: 8pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Revenue
      recognition:&lt;/span&gt; We account for revenue in accordance with ASC Topic 606: Revenue from Contracts with Customers.&#160; In accordance with ASC 606, a performance obligation is a promise in a contract with a customer to transfer a distinct good or
    service to the customer. Some of our contracts with customers contain a single performance obligation, while other contracts contain multiple performance obligations (most commonly when contracts include a hardware product, software and extended
    warranties).&#160; A contract&#x2019;s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The transaction price is determined based on the consideration to which the Company will be entitled in exchange for transferring
    services to the customer.&#160; To the extent the transaction price includes variable consideration, such as price protection, reserves for returns and other allowances, the Company estimates the amount of variable consideration that should be included in
    the transaction price utilizing either the &#x201c;expected value&#x201d; method or the &#x201c;most likely amount&#x201d; method depending on the nature of the variable consideration.&#160; Variable consideration is included in the transaction price if, in the Company&#x2019;s judgment, it
    is probable that a significant future reversal of cumulative revenue under the contract will not occur.&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;For a majority of our revenue, which consists of printers, terminals, consumables, and replacement parts, the Company recognizes
    revenue as of a point of time.&#160; The transaction price is recognized upon shipment of the order when control of the goods is transferred to the customer and at the time the performance obligation is fulfilled.&#160; We also sell a software solution in our
    casino and gaming market, EPICENTRAL, that enables casino operators to create promotional coupons and marketing messages and to print them in real time at the slot machine.&#160; EPICENTRAL is primarily comprised of both a software component, which is
    licensed to the customer, and a hardware component.&#160; EPICENTRAL software and hardware are integrated to deliver the system&#x2019;s full functionality.&#160; The transaction prices from EPICENTRAL software license and hardware are recognized upon installation and
    formal acceptance by the customer when control of the license is transferred to the customer.&#160; For out-of-warranty repairs, the transaction price is recognized after the repair work is completed and the printer or terminal is returned to the customer,
    as control of the product is transferred to the customer and our performance obligation is completed.&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Performance obligations are satisfied over time if the customer receives the benefits as we perform work, if the customer controls the
    asset as it is being produced, or if the product being produced for the customer has no alternative use and we have a contractual right to payment.&#160; For our separately priced extended warranty, BOHA! cloud-based software applications, technical support
    for our food service technology terminals and maintenance agreements (including free one-year maintenance received by customers upon completion
    of EPICENTRAL installation) revenue is recognized over time as the customer receives the benefit.&#160; The transaction price from the maintenance services is recognized ratably over time, using output methods, as control of the services is transferred to
    the customer.&#160; Our cloud-based BOHA! software allows customers to use hosted software over the contract period on a subscription basis without taking possession of the software and the subscription price is recognized ratably over the contract period.&#160;
    For extended warranties, the transaction price is recognized ratably over the warranty period, using output methods, as control of the services is transferred to the customer.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;When there is more than one performance obligation in a customer arrangement, the Company typically uses the &#x201c;standalone selling price&#x201d;
    method to determine the transaction price to allocate to each performance obligation. The Company sells the performance obligations separately and has established standalone selling prices for its products and services. In the case of an overall price
    discount, the discount is applied to each performance obligation proportionately based on standalone selling price. To determine the standalone selling price for initial EPICENTRAL installations, the Company uses the adjusted market assessment
    approach.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;For contracts with terms of less than 12 months, the Company expenses sales commissions as they are incurred, since the expected
    amortization period of the cost to obtain a contract is less than 12 months.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Disaggregation of revenue&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table disaggregates our revenue by market type, as we believe it best depicts how the nature, amount, timing and uncertainty of
    our revenue and cash flows are affected by economic factors.&#160; Sales and usage-based taxes are excluded from revenues.&lt;/div&gt;

&lt;div style="line-height: 11.05pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31, 2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Food service technology&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,738&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;887&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;12,625&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;POS automation&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,817&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,825&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Casino and gaming&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,173&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,129&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15,302&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Printrex&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;171&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;460&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;631&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,501&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;502&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,003&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 16.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;32,400&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,986&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;39,386&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="line-height: 12.3pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31, 2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Food service technology&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,956&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;778&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,734&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;POS automation&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,763&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,770&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Casino and gaming&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,852&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,127&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,979&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Lottery&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;817&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;817&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Printrex&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;83&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;217&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;300&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,262&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;733&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,995&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 16.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;24,733&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,862&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;30,595&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: left; line-height: 14.75pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Contract balances&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Contract assets consist of unbilled receivables.&#160; Pursuant to the over-time revenue recognition model, revenue may be recognized prior
    to the customer being invoiced. An unbilled receivable is recorded to reflect revenue that is recognized when such revenue exceeds the amount invoiced to the customer. Unbilled receivables are separated into current and non-current assets and included
    within &#x201c;Accounts Receivable&#x201d; and &#x201c;Other Non-Current Assets&#x201d; on the Consolidated Balance Sheets.&#160; We first recorded contract assets during 2020 upon the start of a long-term BOHA! contract.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Contract liabilities consist of customer prepayments and deferred revenue.&#160; Customer prepayments are reported as &#x201c;Accrued Liabilities&#x201d;
    in current liabilities in the Consolidated Balance Sheets and represent customer payments made in advance of performance obligations in instances where credit has not been extended and is recognized as revenue when the performance obligation is
    complete.&#160; Deferred revenue is reported separately in current liabilities and non-current liabilities and consists of our extended warranty contracts, technical support for our food service technology terminals, EPICENTRAL maintenance contracts and
    prepaid software subscriptions for our BOHA! software applications, and is recognized as revenue as (or when) we perform under the contract.&#160; The increase in current and non-current deferred revenue in 2021 compared to 2020 was primarily due to
    increased BOHA! software subscriptions and increased extended warranty contracts on our BOHA! hardware products.&#160; During the year ended December 31, 2021,
    we recognized revenue of $0.7 million related to our contract liabilities as of December 31, 2020. &lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net contract (liabilities) assets consist of the following:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Unbilled receivables, current&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;314&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;290&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Unbilled receivables, non-current&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;308&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;591&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Customer pre-payments&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(99&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(216&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred revenue, current&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(805&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(504&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred revenue, non-current&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(186&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(111&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net contract (liabilities) assets&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(468&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;50&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: justify; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Remaining performance obligations&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Remaining performance obligations represent the transaction price of firm orders for which a good or service has not been delivered to
    our customer.&#160; As of December 31, 2021, the aggregate amount of the transaction price allocated to remaining performance obligations was $10.5 million.&#160; The Company expects to recognize revenue on $10.1
    million of our remaining performance obligations within the next 12 months and $0.4 million within the next &lt;span style="-sec-ix-hidden:Fact_0fb767fdbb19460d8f1b18e429c9fbeb"&gt;24&lt;/span&gt; months.&lt;/div&gt;
</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <tact:TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation
      contextRef="c20210101to20211231"
      id="Fact_7cf1bb7ea0d44530badecc849eec372b">P1Y</tact:TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="c20210101to20211231"
      id="Text_6ec54f25df26416e9ccd831af7f9af1f">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table disaggregates our revenue by market type, as we believe it best depicts how the nature, amount, timing and uncertainty of
    our revenue and cash flows are affected by economic factors.&#160; Sales and usage-based taxes are excluded from revenues.&lt;/div&gt;

&lt;div style="line-height: 11.05pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31, 2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Food service technology&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,738&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;887&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;12,625&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;POS automation&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,817&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,825&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Casino and gaming&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,173&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,129&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15,302&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Printrex&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;171&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;460&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;631&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,501&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;502&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,003&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 16.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;32,400&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,986&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;39,386&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="line-height: 12.3pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="10" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31, 2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: top; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Food service technology&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,956&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;778&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,734&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;POS automation&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,763&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,770&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Casino and gaming&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,852&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,127&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,979&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Lottery&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;817&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;817&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Printrex&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;83&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;217&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;300&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 7.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,262&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;733&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,995&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; margin-left: 16.2pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;24,733&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,862&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;30,595&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_07b868794b34419db70fe34b34993634"
      unitRef="U001">11738000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_afe6b1d0560f425183609a2b7c115e29"
      unitRef="U001">887000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231_ProductOrServiceAxis_FoodServiceTechnologyMember"
      decimals="-3"
      id="Fact_f7c750099e13481fa2f75b2f580a5f5d"
      unitRef="U001">12625000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_2b24c8d28f45491aaad4bc9d7ec19105"
      unitRef="U001">4817000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_6fb236f7b91a4216b26194368a8f5780"
      unitRef="U001">8000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231_ProductOrServiceAxis_PosAutomationAndBankingMember"
      decimals="-3"
      id="Fact_042aa47cfb304b868c9fb32c03a7d201"
      unitRef="U001">4825000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_1ff4c6690fe743af87e22223076d3efa"
      unitRef="U001">10173000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_8cda49ec629f4335a1c010716dcc17ad"
      unitRef="U001">5129000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231_ProductOrServiceAxis_CasinoAndGamingMember"
      decimals="-3"
      id="Fact_0b9d53f275c547699c6d186ef7a7f2c9"
      unitRef="U001">15302000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_ca5815d10b774812a5592e1b92491356"
      unitRef="U001">171000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_2138772f994e4a7ba7a04d46b87c9c6c"
      unitRef="U001">460000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231_ProductOrServiceAxis_PrintrexMember"
      decimals="-3"
      id="Fact_e544e92162cd4149a92edb554f44a4f0"
      unitRef="U001">631000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_7657b5232e6e4cef8998af6952a59bcf"
      unitRef="U001">5501000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_0aff425dd99645e69d4c2b940580f4b9"
      unitRef="U001">502000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231_ProductOrServiceAxis_TransactServicesGroupMember"
      decimals="-3"
      id="Fact_a8589516877040928d9fd26a9aaef7d8"
      unitRef="U001">6003000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_9b58b4c959ef46a1b5151013bb03f665"
      unitRef="U001">32400000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_d41c23a5b1bf4dcda720e7081423e466"
      unitRef="U001">6986000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_63d9822502bf40d3a9ae39b49dcbce48"
      unitRef="U001">39386000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_cceff49d9f5a45eba7cd56761a29addc"
      unitRef="U001">6956000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_037a1659ca174ace9519868322e35892"
      unitRef="U001">778000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ProductOrServiceAxis_FoodServiceTechnologyMember"
      decimals="-3"
      id="Fact_63a4c28848354ffa88ec67fb9f9af3cf"
      unitRef="U001">7734000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_67f498b197c1442f8b9c7b259d3fc2e9"
      unitRef="U001">3763000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_85e8b496938e4ea0b9eca6a9fa965742"
      unitRef="U001">7000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ProductOrServiceAxis_PosAutomationAndBankingMember"
      decimals="-3"
      id="Fact_8440b11c51df49bebf8c01f67d0e5fc9"
      unitRef="U001">3770000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_3760a0f339ed4deab2632644aafd7ae8"
      unitRef="U001">6852000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_7bcdffbb8d5944eb8814824bfac10ba7"
      unitRef="U001">4127000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ProductOrServiceAxis_CasinoAndGamingMember"
      decimals="-3"
      id="Fact_9b2dec1595c2450cbc41d68703bfa9bb"
      unitRef="U001">10979000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_c46e481f3f7846e4b08540ec8e5b03f1"
      unitRef="U001">817000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_1545512f4d4b4070b9ef7f59959fdfc9"
      unitRef="U001">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ProductOrServiceAxis_LotteryMember"
      decimals="-3"
      id="Fact_05466945f0314a69a087a5889ee5fd18"
      unitRef="U001">817000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_16ca17f98e2343e6b618fd3108e0d8b7"
      unitRef="U001">83000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_a1441bdd0580441d985af02d2c13319f"
      unitRef="U001">217000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ProductOrServiceAxis_PrintrexMember"
      decimals="-3"
      id="Fact_6def9484a163411eb02f616093f51f9b"
      unitRef="U001">300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_d933114435784925ad59964ea1452590"
      unitRef="U001">6262000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_f067b5a268404acb8d659b624b83e3c6"
      unitRef="U001">733000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ProductOrServiceAxis_TransactServicesGroupMember"
      decimals="-3"
      id="Fact_e0719514d6d842d9aab69d84b11af690"
      unitRef="U001">6995000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_36031d90045e487bb9e43f58d5b83af0"
      unitRef="U001">24733000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_1536f78606f74c12b781b25727172b72"
      unitRef="U001">5862000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_30eeb0c10d6b4e3789fc0a2d16059592"
      unitRef="U001">30595000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <tact:ContractWithCustomerRevenueRecognized
      contextRef="c20200101to20201231"
      decimals="-5"
      id="Fact_17dd4f48661847daa54ed1b1d1472e5c"
      unitRef="U001">700000</tact:ContractWithCustomerRevenueRecognized>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="c20210101to20211231"
      id="Text_c78427c499434299aa07edda49ca7d60">
&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net contract (liabilities) assets consist of the following:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#160;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;(In thousands)&lt;/span&gt;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Unbilled receivables, current&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;314&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;290&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Unbilled receivables, non-current&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;308&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;591&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Customer pre-payments&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(99&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(216&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred revenue, current&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(805&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(504&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred revenue, non-current&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(186&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(111&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net contract (liabilities) assets&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(468&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;50&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_abffa07e37264a4ca4bb0605571e4612"
      unitRef="U001">314000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_b958e33cb76a44ddb5a776d7dbd08a7a"
      unitRef="U001">290000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_324586d1cb9c4058b9fadad4473c3a42"
      unitRef="U001">308000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_0437da69a1fc4ea09dd4cf5a8590f933"
      unitRef="U001">591000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_b3a482dac3594708b44af11fbb398e4b"
      unitRef="U001">99000</tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent>
    <tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_ea042e47e2894043b31b5f755243c234"
      unitRef="U001">216000</tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_5558177efb9f48feb224e507ee2463e2"
      unitRef="U001">805000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_7687993674894c8d9e23b230c6de0e00"
      unitRef="U001">504000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_9b6157f0af084cfa95fa143453ca88e6"
      unitRef="U001">186000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_cc07ac9d0f2b4c7582b7461dba4273af"
      unitRef="U001">111000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <tact:ContractWithCustomerAssetLiabilityNet
      contextRef="c20211231"
      decimals="-3"
      id="Fact_78e6eb911c574b45b031e1460141cd63"
      unitRef="U001">-468000</tact:ContractWithCustomerAssetLiabilityNet>
    <tact:ContractWithCustomerAssetLiabilityNet
      contextRef="c20201231"
      decimals="-3"
      id="Fact_01196d2eafeb48adaaded239f0f9c0c0"
      unitRef="U001">50000</tact:ContractWithCustomerAssetLiabilityNet>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="c20211231"
      decimals="-5"
      id="Fact_d486a8fef49b476190fd8746afbf5e37"
      unitRef="U001">10500000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="c20211231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20220101Member"
      decimals="-5"
      id="Fact_1720bc18dfa447edbe450a412c6c7695"
      unitRef="U001">10100000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="c20211231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20220101Member"
      id="Fact_e55cdacc9187468a9eb398fb8e3d240f">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="c20211231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20230101Member"
      decimals="-5"
      id="Fact_d45056dd3c274760a3606afb1d11d118"
      unitRef="U001">400000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="c20210101to20211231"
      id="Text_2b299792be934052a24c455928d01035">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Concentration of credit
      risk:&lt;/span&gt;&#160; Financial instruments that potentially expose us to concentrations of credit risk are limited to cash and cash equivalents held by our banks in excess of insured limits and accounts receivable.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accounts receivable from customers representing 10% or more of total accounts receivable were as follows:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Chain Link Services&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International Gaming Technology (&#x201c;IGT&#x201d;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;NCR Corporation&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Sales to customers representing 10% or more of total net sales were as follows:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;IGT&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock
      contextRef="c20210101to20211231"
      id="Text_89671cac314b4e19b53d7b979330c1ee">
&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accounts receivable from customers representing 10% or more of total accounts receivable were as follows:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Chain Link Services&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International Gaming Technology (&#x201c;IGT&#x201d;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;NCR Corporation&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Sales to customers representing 10% or more of total net sales were as follows:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;IGT&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ScientificGamesMember"
      decimals="2"
      id="Fact_091257d077ed4537a4466cd6ec2c23e3"
      unitRef="U007">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ScientificGamesMember"
      decimals="0"
      id="Fact_ee6f188f7eb54fbe8d717e86c88449a5"
      unitRef="U007">0</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember"
      decimals="2"
      id="Fact_5c1271a91673421690675ee860646576"
      unitRef="U007">0.03</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember"
      decimals="2"
      id="Fact_aaccfcd5690f4f849ebb78e7d6729aa2"
      unitRef="U007">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_NcrCorporationMember"
      decimals="2"
      id="Fact_508bca339c0a478687ea07da03b85315"
      unitRef="U007">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_NcrCorporationMember"
      decimals="2"
      id="Fact_f15bdcec3a74491e8f4b0c18484c5572"
      unitRef="U007">0.02</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember"
      decimals="2"
      id="Fact_d276ac642d2f47bab1e653fa8e770084"
      unitRef="U007">0.09</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPlcMember"
      decimals="2"
      id="Fact_923d63e0f8bd49618f2cf3427cd5cfe0"
      unitRef="U007">0.15</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:StandardProductWarrantyPolicy
      contextRef="c20210101to20211231"
      id="Text_30f339925ac04ea786cf4420d70d779c">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Warranty:&lt;/span&gt; We generally warrant our
    products for up to 24 months and record the estimated cost of such product warranties at the time the sale is recorded.&#160; Estimated warranty
    costs are based upon actual past experience of product repairs and the related estimated cost of labor and material to make the necessary repairs.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the activity recorded in the accrued product warranty liability:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;140&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;215&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranties issued&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;44&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;56&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranty settlements&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(83&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(131&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;101&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;140&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$79 thousand and $112 thousand of the accrued product warranty liability was classified as current in Accrued liabilities at December 31, 2021 and 2020, respectively.&#160; The remaining
    $22 thousand and $28 thousand of the
    accrued product warranty liability as of December 31, 2021 and 2020, respectively, was classified as long-term in Other liabilities.&lt;/div&gt;
</us-gaap:StandardProductWarrantyPolicy>
    <tact:ExtendedProductWarrantyPeriod
      contextRef="c20210101to20211231_RangeAxis_MaximumMember"
      id="Fact_98683472eb3946a4868868a9a13d3bc1">P24M</tact:ExtendedProductWarrantyPeriod>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock
      contextRef="c20210101to20211231"
      id="Text_18de49a619234504be88683b77fafefe">
&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the activity recorded in the accrued product warranty liability:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;140&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;215&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranties issued&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;44&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;56&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranty settlements&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(83&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(131&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;101&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;140&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ExtendedProductWarrantyAccrual
      contextRef="c20201231"
      decimals="-3"
      id="Fact_a0204574209d4f1fbc61657c9f22b337"
      unitRef="U001">140000</us-gaap:ExtendedProductWarrantyAccrual>
    <us-gaap:ExtendedProductWarrantyAccrual
      contextRef="c20191231"
      decimals="-3"
      id="Fact_b43b2857869345cdbe2484aa264c03fe"
      unitRef="U001">215000</us-gaap:ExtendedProductWarrantyAccrual>
    <us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_e379d8d8fd3f47b987df4fa4e4366b87"
      unitRef="U001">44000</us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_a89bf7429ac64fd697da7c2d869d3dde"
      unitRef="U001">56000</us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ExtendedProductWarrantyAccrualPayments
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_de3256aef1344b1d87ae5e75a166c072"
      unitRef="U001">83000</us-gaap:ExtendedProductWarrantyAccrualPayments>
    <us-gaap:ExtendedProductWarrantyAccrualPayments
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_98f7e692c7674c33ade35d416c005ead"
      unitRef="U001">131000</us-gaap:ExtendedProductWarrantyAccrualPayments>
    <us-gaap:ExtendedProductWarrantyAccrual
      contextRef="c20211231"
      decimals="-3"
      id="Fact_ec931a1c6ec4407f870e81250fd3a65c"
      unitRef="U001">101000</us-gaap:ExtendedProductWarrantyAccrual>
    <us-gaap:ExtendedProductWarrantyAccrual
      contextRef="c20201231"
      decimals="-3"
      id="Fact_b4c5c332358e4db8b5a700f0bd99e9bb"
      unitRef="U001">140000</us-gaap:ExtendedProductWarrantyAccrual>
    <us-gaap:ExtendedProductWarrantyAccrualCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_dd723a81d1c84004ba034c792de65bb0"
      unitRef="U001">79000</us-gaap:ExtendedProductWarrantyAccrualCurrent>
    <us-gaap:ExtendedProductWarrantyAccrualCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_50cd97295d9143648bc7fc27bb7f1561"
      unitRef="U001">112000</us-gaap:ExtendedProductWarrantyAccrualCurrent>
    <us-gaap:ExtendedProductWarrantyAccrualNoncurrent
      contextRef="c20211231_BalanceSheetLocationAxis_OtherLiabilitiesMember"
      decimals="-3"
      id="Fact_91393daeb58942e0b848b43746a8a875"
      unitRef="U001">22000</us-gaap:ExtendedProductWarrantyAccrualNoncurrent>
    <us-gaap:ExtendedProductWarrantyAccrualNoncurrent
      contextRef="c20201231_BalanceSheetLocationAxis_OtherLiabilitiesMember"
      decimals="-3"
      id="Fact_558a57554d7440988011f11adc5281d5"
      unitRef="U001">28000</us-gaap:ExtendedProductWarrantyAccrualNoncurrent>
    <us-gaap:ResearchAndDevelopmentExpensePolicy
      contextRef="c20210101to20211231"
      id="Text_e4c89041ce964f63a3ab9bd4f1a00125">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Engineering,



      design and product development:&lt;/span&gt; Engineering, design and product development expenses include expenses incurred in connection with specialized engineering and design to introduce new products and to customize existing products, and are expensed
    as a component of operating expenses as incurred.&#160; We recorded $7.5 million and $5.7 million of research and development expenses in 2021 and 2020, respectively.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Costs incurred in the engineering, design and product development of a computer software product are charged to expense until
    technological feasibility has been established, at which point all material software costs are capitalized within Intangible assets in our Consolidated Balance Sheet until the product is available for general release to customers.&#160; While judgment is
    required in determining when technological feasibility of a product is established, we have determined that it is reached after all high-risk development issues have been documented in a formal detailed plan design.&#160; The amortization of these costs
    have been included in cost of sales over the estimated life of the product.&#160; During 2019, we contracted several third-parties to develop software for our food service technology products, the cost for which we capitalized.&#160; Unamortized development
    costs for such software were $396 thousand as of December 31, 2021.&#160; The total amount charged to cost of sales for capitalized software development costs was $154
    thousand and $153 thousand in 2021
    and 2020, respectively.&lt;/div&gt;
</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="c20210101to20211231"
      decimals="-5"
      id="Fact_b0089f421d7d48068b193e21a327ad64"
      unitRef="U001">7500000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="c20200101to20201231"
      decimals="-5"
      id="Fact_b74d7ceb05014a9d94c25a046f3af0ad"
      unitRef="U001">5700000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="c20211231"
      decimals="-3"
      id="Fact_1bba367dc5794577aa2515873faf6942"
      unitRef="U001">396000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:CapitalizedComputerSoftwareAmortization1
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_bb711623a9f742bf8a84ed0ef7102cbf"
      unitRef="U001">154000</us-gaap:CapitalizedComputerSoftwareAmortization1>
    <us-gaap:CapitalizedComputerSoftwareAmortization1
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_f2b1a652723a4a318f611f7f79d53148"
      unitRef="U001">153000</us-gaap:CapitalizedComputerSoftwareAmortization1>
    <us-gaap:AdvertisingCostsPolicyTextBlock
      contextRef="c20210101to20211231"
      id="Text_640142caf0ca49c68703632c34f3c261">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Advertising:&lt;/span&gt; Advertising costs are
    expensed as incurred.&#160; Advertising expenses, which are included in selling and marketing expense on the accompanying Consolidated Statements of Operations, for 2021 and 2020 totaled $1.8 million and $0.7 million, respectively. These expenses include items such as
    consulting and professional services, tradeshows, and print advertising.&lt;/div&gt;
</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense
      contextRef="c20210101to20211231"
      decimals="-5"
      id="Fact_8fad1200199648688c449cc023bbc32e"
      unitRef="U001">1800000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="c20200101to20201231"
      decimals="-5"
      id="Fact_92361189e6de43ea9cc02e3583077d6e"
      unitRef="U001">700000</us-gaap:AdvertisingExpense>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="c20210101to20211231"
      id="Text_fec5bc44f8b047c49ba621837b28bd1b">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Income taxes:&lt;/span&gt; The income tax
    amounts reflected in the accompanying Consolidated Financial Statements are accounted for under the liability method in accordance with ASC 740, &#x201c;Income Taxes&#x201d; (&#x201c;ASC 740&#x201d;).&#160; Deferred tax assets and liabilities are recognized for the estimated future
    tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards.&#160; Deferred tax assets and liabilities are
    measured using enacted tax rates in effect for the year in which those temporary differences are expected to be recovered or settled.&#160; We assess the likelihood that net deferred tax assets will be realized from future taxable income, and to the extent
    that we believe that realization is not likely, we establish a valuation allowance.&#160; In accordance with ASC 740, we identified, evaluated and measured the amount of benefits to be recognized for our tax return positions. &lt;/div&gt;
</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="c20210101to20211231"
      id="Text_58ecfc84d1294622a88d78fe023cff0a">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Foreign currency
      translation:&lt;/span&gt; The financial position and results of operations of our foreign subsidiary in the UK are measured using local currency as the functional currency.&#160; Assets and liabilities of such subsidiary have been translated into U.S. dollars
    at the year-end exchange rate, related sales and expenses have been translated at the exchange rate as of the date the transaction was recognized, and shareholders&#x2019; equity has been translated at historical exchange rates.&#160; The resulting translation
    gains or losses, net of tax, are recorded in shareholders&#x2019; equity as a cumulative translation adjustment, which is a component of accumulated other comprehensive income and loss.&#160; Foreign currency transaction gains and losses, including those related
    to intercompany balances, are recognized in Other, net on the Consolidated Statements of Operations.&lt;/div&gt;
</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="c20210101to20211231"
      id="Text_b53c3849ef1047b4a88c7708233d8454">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Share-based payments:&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;&#160;&lt;/span&gt;At December 31, 2021, we have share-based
    employee compensation plans, which are described more fully in Note 10 - Stock incentive plans.&#160; We account for those plans under the recognition and measurement principles of ASC 718, &#x201c;Compensation &#x2013; Stock Compensation.&#x201d;&#160; Share-based compensation
    expense is measured at the grant date, based on the estimated fair value of the award, and is recognized as expense over the employee&#x2019;s requisite service period.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We use the Black-Scholes option-pricing model to calculate the fair value of share-based awards.&#160; The key assumptions for this
    valuation method include the expected term of the option, stock price volatility, risk-free interest rate, dividend yield, market price of our underlying stock and exercise price.&#160; Many of these assumptions require judgment and are highly sensitive in
    the determination of compensation expense.&#160; Forfeitures are recognized as they occur.&lt;/div&gt;
</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="c20210101to20211231"
      id="Text_217ca0746f8340beb2594a94157f1c56">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Net loss per
      share:&lt;/span&gt; We report net income or loss per share in accordance with ASC 260, &#x201c;Earnings per Share (EPS).&#x201d; Under this guidance, basic EPS, which excludes dilution, is computed by dividing income or loss available to common shareholders by the
    weighted average number of common shares outstanding for the period.&#160; Diluted EPS reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock.&#160; Diluted EPS
    includes in-the-money stock options using the treasury stock method.&#160; During a loss period, the assumed exercise of in-the-money stock options has an anti-dilutive effect, and therefore, these instruments are excluded from the computation of diluted
    EPS.&#160; See Note 12 - Earnings per share.&lt;/div&gt;
</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock
      contextRef="c20210101to20211231"
      id="Text_2a85fba915304c2ba0c7a9ba7ab83a06">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;3. Note receivable&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;The note receivable balance relates to loans given to a
      third-party software developer from whom we license our food service technology software with an interest rate of &lt;/span&gt;4.5%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;, which were originally due in April 2020.&#160; In March 2021, we received payment in the amount of $&lt;/span&gt;1.6&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; million representing the remaining principal balance and interest due from the third-party.&#160; &lt;/span&gt;Prior to the
    payment being received, notes receivable were stated at unpaid principal balances and interest income was recognized on the accrual method.&#160; Interest income for 2021 and 2020 was $17 thousand and $67 thousand, respectively. &lt;/div&gt;
</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
    <tact:NoteReceivableInterestRate
      contextRef="c20211231"
      decimals="3"
      id="Fact_aeb67104fd314492b5bc6948ed7d89c9"
      unitRef="U007">0.045</tact:NoteReceivableInterestRate>
    <us-gaap:ProceedsFromCollectionOfNotesReceivable
      contextRef="c20210101to20211231"
      decimals="-5"
      id="Fact_0ac78571bb2a4ec8bf082d12b7d9f287"
      unitRef="U001">1600000</us-gaap:ProceedsFromCollectionOfNotesReceivable>
    <tact:NoteReceivableInterestIncome
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_fa8248804377487fb149e8af3b08e415"
      unitRef="U001">17000</tact:NoteReceivableInterestIncome>
    <tact:NoteReceivableInterestIncome
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_cf7bf382a1524ac3904669d13093bfa3"
      unitRef="U001">67000</tact:NoteReceivableInterestIncome>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="c20210101to20211231"
      id="Text_c897651d17bc44989a5613e77b89c9e7">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;4. Inventories&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of inventories are:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Raw materials and purchased component parts&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,479&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,467&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Work-in-process&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Finished goods&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,230&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,819&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,720&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,286&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="c20210101to20211231"
      id="Text_8f9e5a09f6d449baa30ed587c399da12">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of inventories are:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Raw materials and purchased component parts&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,479&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,467&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Work-in-process&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Finished goods&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,230&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,819&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,720&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,286&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves
      contextRef="c20211231"
      decimals="-3"
      id="Fact_383e1c3ae647446a8e2cda380803b969"
      unitRef="U001">6479000</us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves>
    <us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves
      contextRef="c20201231"
      decimals="-3"
      id="Fact_1bce1488cf0b4d2893b4dc0a00c200f3"
      unitRef="U001">5467000</us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="c20211231"
      decimals="-3"
      id="Fact_c0496853979645a0a4a0c16789d065b5"
      unitRef="U001">11000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="c20201231"
      decimals="-3"
      id="Fact_9cc9642d5f1e4234b8766b993847919e"
      unitRef="U001">0</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="c20211231"
      decimals="-3"
      id="Fact_5596b4b9d5e5411997deba4fd56a1cd2"
      unitRef="U001">1230000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="c20201231"
      decimals="-3"
      id="Fact_514482936ac04510a66df08fe16bc274"
      unitRef="U001">5819000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="c20211231"
      decimals="-3"
      id="Fact_ef88a11ee47b48c39d812d0d94a487af"
      unitRef="U001">7720000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="c20201231"
      decimals="-3"
      id="Fact_33870ccbfc224bb48336f7297bfb5aa2"
      unitRef="U001">11286000</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="c20210101to20211231"
      id="Text_6adeff6db11342698507c1d6d2633798">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;5. Fixed assets, net&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of fixed assets, net are:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Tooling, machinery and equipment&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,694&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,508&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Furniture and office equipment&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,660&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,706&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Computer software and equipment&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,973&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,364&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Leasehold improvements&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,872&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,873&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,199&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21,451&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less: Accumulated depreciation and amortization&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(16,736&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(19,979&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,463&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,472&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Construction in-process&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,221&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;478&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,684&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,950&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="c20210101to20211231"
      id="Text_bc7d5a0ccec148f680cb81a02872111b">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of fixed assets, net are:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Tooling, machinery and equipment&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,694&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,508&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Furniture and office equipment&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,660&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,706&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Computer software and equipment&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,973&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,364&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Leasehold improvements&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,872&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,873&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,199&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21,451&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less: Accumulated depreciation and amortization&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(16,736&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(19,979&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,463&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,472&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Construction in-process&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,221&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;478&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,684&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,950&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20211231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember"
      decimals="-3"
      id="Fact_566e8de61b47431abdb0ec96b71d9e1f"
      unitRef="U001">6694000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20201231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember"
      decimals="-3"
      id="Fact_5799c7f2283e417f97728c7693e068b7"
      unitRef="U001">9508000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20211231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember"
      decimals="-3"
      id="Fact_8d5d29a4b7114944bd592d42e241f5a6"
      unitRef="U001">1660000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20201231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember"
      decimals="-3"
      id="Fact_6c1b4eb288e447048006dc090ee68f7e"
      unitRef="U001">1706000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20211231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember"
      decimals="-3"
      id="Fact_e5fccc77f88041b882c237c6a9b3764d"
      unitRef="U001">6973000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20201231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember"
      decimals="-3"
      id="Fact_41bd4258e7f944238c36fb8540a13ccf"
      unitRef="U001">7364000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20211231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember"
      decimals="-3"
      id="Fact_12ed6798203f411f9ccf1fc0384c1c2f"
      unitRef="U001">2872000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20201231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember"
      decimals="-3"
      id="Fact_56f406812c0344ef8a983ff848402653"
      unitRef="U001">2873000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20211231"
      decimals="-3"
      id="Fact_4fcebf33452f4a9193847ead62537e8c"
      unitRef="U001">18199000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20201231"
      decimals="-3"
      id="Fact_c7d2276a71f64b0388e87a1224a4ad2f"
      unitRef="U001">21451000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="c20211231"
      decimals="-3"
      id="Fact_5a4c18ee0fba49f3bb92233f48b55f0a"
      unitRef="U001">16736000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="c20201231"
      decimals="-3"
      id="Fact_6d827129c559429fbffa0d1f010d7e64"
      unitRef="U001">19979000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20211231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember"
      decimals="-3"
      id="Fact_3adefa19e4aa42a6a4b92b7b743f36a4"
      unitRef="U001">1463000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20201231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember"
      decimals="-3"
      id="Fact_239b58fb9fc94ea4a9453e34d50e3d9a"
      unitRef="U001">1472000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20211231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember"
      decimals="-3"
      id="Fact_063c533fdbd3481c9abbde0bcf835841"
      unitRef="U001">1221000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="c20201231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember"
      decimals="-3"
      id="Fact_f76b58ffe7f248988b1aa2455b3c1a39"
      unitRef="U001">478000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20211231"
      decimals="-3"
      id="Fact_47d108090eba4322a7fad9f37c71d7a2"
      unitRef="U001">2684000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20201231"
      decimals="-3"
      id="Fact_08f3f2dd937b4616a88e5d81fd557732"
      unitRef="U001">1950000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="c20210101to20211231"
      id="Text_02dae1eef11e490ba4d04083cf52b1cc">
&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;6. Intangible assets, net&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Identifiable intangible assets are recorded in Intangible assets, net in the accompanying Consolidated Balance Sheets and are comprised of the following:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt;"&gt;&lt;span style="line-height: 10.25pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross Amount&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accumulated Amortization&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross Amount&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accumulated Amortization&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Purchased technology&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,591&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,195&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,526&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,975&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Customer relationships&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,300&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,300&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Trademark&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;480&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(450&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Covenant not to compete&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;146&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(146&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Patents&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(14&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;56&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(54&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;80&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(80&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,606&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,209&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,588&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(4,005&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Amortization expense was $186
    thousand and $234 thousand in 2021
    and 2020, respectively.&#160; Amortization expense for each of the next five years ending December 31 is expected to be as follows: $155 thousand in 2022; $154 thousand in 2023; $88 thousand in 2024; and none thereafter.&lt;/div&gt;
</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="c20210101to20211231"
      id="Text_2c9b6e33c54f441a8bdc5b9f421a3723">
&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Identifiable intangible assets are recorded in Intangible assets, net in the accompanying Consolidated Balance Sheets and are comprised of the following:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt;"&gt;&lt;span style="line-height: 10.25pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross Amount&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accumulated Amortization&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross Amount&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accumulated Amortization&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Purchased technology&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,591&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,195&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,526&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,975&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Customer relationships&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,300&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,300&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Trademark&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;480&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(450&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Covenant not to compete&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;146&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(146&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Patents&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(14&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;56&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(54&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;80&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(80&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,606&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,209&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,588&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(4,005&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember"
      decimals="-3"
      id="Fact_205d637ac90a4bf08ea67475cdedc19d"
      unitRef="U001">1591000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember"
      decimals="-3"
      id="Fact_134c0bbd9150420780c9593812f91516"
      unitRef="U001">1195000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember"
      decimals="-3"
      id="Fact_4e5d35b81fc64268916057c297adf3e5"
      unitRef="U001">2526000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember"
      decimals="-3"
      id="Fact_c6d4d7ba96694e499194b953e208c249"
      unitRef="U001">1975000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_CustomerRelationshipsMember"
      decimals="-3"
      id="Fact_719b504c0f434f9390ecf43b3bdcfdde"
      unitRef="U001">0</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_CustomerRelationshipsMember"
      decimals="-3"
      id="Fact_a72f44c9b6a740edad58343101676912"
      unitRef="U001">0</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_CustomerRelationshipsMember"
      decimals="-3"
      id="Fact_9096f622a2254b878de21295bf16a458"
      unitRef="U001">1300000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_CustomerRelationshipsMember"
      decimals="-3"
      id="Fact_d3e8752d26d2473fa24520d79d74ee4c"
      unitRef="U001">1300000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_TrademarksMember"
      decimals="-3"
      id="Fact_89ff376a7d5845fca71d711854338eff"
      unitRef="U001">0</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_TrademarksMember"
      decimals="-3"
      id="Fact_8c331049768449b0a1c896ed1511d9ce"
      unitRef="U001">0</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_TrademarksMember"
      decimals="-3"
      id="Fact_e41882732c2a4003bcde8d2a47adaab3"
      unitRef="U001">480000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_TrademarksMember"
      decimals="-3"
      id="Fact_f69baba95c8f44eb9390ef2fd8bcb1fe"
      unitRef="U001">450000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_NoncompeteAgreementsMember"
      decimals="-3"
      id="Fact_abb1e961a0d140f69ee8c32702785067"
      unitRef="U001">0</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_NoncompeteAgreementsMember"
      decimals="-3"
      id="Fact_10ddb952e63346daa003f3644045411f"
      unitRef="U001">0</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_NoncompeteAgreementsMember"
      decimals="-3"
      id="Fact_4ff95ce84cf24dabb4b4ca7d87b83f47"
      unitRef="U001">146000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_NoncompeteAgreementsMember"
      decimals="-3"
      id="Fact_ccf6adf38477412a9392fde263f199ab"
      unitRef="U001">146000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember"
      decimals="-3"
      id="Fact_cee7f8382401471387dc092d24296eb5"
      unitRef="U001">15000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember"
      decimals="-3"
      id="Fact_e9e7fc77a55b416eb27f9394cf540d5c"
      unitRef="U001">14000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember"
      decimals="-3"
      id="Fact_4d9b4a2346c6447a8488ce983a8dc949"
      unitRef="U001">56000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember"
      decimals="-3"
      id="Fact_a250b1405e0740288e08a71273857c3f"
      unitRef="U001">54000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_OtherIntangibleAssetsMember"
      decimals="-3"
      id="Fact_ab2fea754bcc4ed1bdf565e6e4c8771d"
      unitRef="U001">0</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20211231_FiniteLivedIntangibleAssetsByMajorClassAxis_OtherIntangibleAssetsMember"
      decimals="-3"
      id="Fact_62fa6b966efc47b0b71b16c3cb3162c4"
      unitRef="U001">0</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_OtherIntangibleAssetsMember"
      decimals="-3"
      id="Fact_9dc25dcd868d47a380b0f6a0e274ac35"
      unitRef="U001">80000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20201231_FiniteLivedIntangibleAssetsByMajorClassAxis_OtherIntangibleAssetsMember"
      decimals="-3"
      id="Fact_06a6094b2aa44bb48dec2597f13e1693"
      unitRef="U001">80000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20211231"
      decimals="-3"
      id="Fact_44b685e163ce4c62960424e4a88c0199"
      unitRef="U001">1606000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20211231"
      decimals="-3"
      id="Fact_6df3b55918774f08817b8d82d4d0ec3f"
      unitRef="U001">1209000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="c20201231"
      decimals="-3"
      id="Fact_8b9e100d666344ca8eae31ab6d324598"
      unitRef="U001">4588000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20201231"
      decimals="-3"
      id="Fact_1d993ccc8a294de7b25befbac65c93dc"
      unitRef="U001">4005000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_1f602044c8d34b98b228d55230ed472d"
      unitRef="U001">186000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_b6653475fffb41a689f02f7222554aa5"
      unitRef="U001">234000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="c20211231"
      decimals="-3"
      id="Fact_70ba98556fff4df287f668538cb048bc"
      unitRef="U001">155000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="c20211231"
      decimals="-3"
      id="Fact_529f1ca6319145eeb12404682f8d47e1"
      unitRef="U001">154000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="c20211231"
      decimals="-3"
      id="Fact_054ed807645d42b2aebeb0799c42c153"
      unitRef="U001">88000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <tact:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree
      contextRef="c20211231"
      decimals="-3"
      id="Fact_549fb21b615040ad9852ed2351ec4c63"
      unitRef="U001">0</tact:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock
      contextRef="c20210101to20211231"
      id="Text_d679665b44544d0980ceb3928ea7e557">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;7. Accrued liabilities&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of accrued liabilities are:&lt;/div&gt;

&lt;div style="text-align: left; line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Salaries and compensation related&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,854&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,328&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranty&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;79&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;112&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Professional and consulting&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;285&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;257&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;676&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;968&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,894&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,665&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock
      contextRef="c20210101to20211231"
      id="Text_432454366ed440e986e842ef7bb68bc7">
&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of accrued liabilities are:&lt;/div&gt;

&lt;div style="text-align: left; line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Salaries and compensation related&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,854&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,328&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranty&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;79&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;112&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Professional and consulting&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;285&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;257&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;676&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;968&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,894&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,665&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_549e34ccf0e44129a7c95b510e244d02"
      unitRef="U001">2854000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_e75a80b12ded468d93971346b945c522"
      unitRef="U001">2328000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:ExtendedProductWarrantyAccrualCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_546b129c90a649ec89e28289ec03381d"
      unitRef="U001">79000</us-gaap:ExtendedProductWarrantyAccrualCurrent>
    <us-gaap:ExtendedProductWarrantyAccrualCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_dc3b587146654b9888807044ebabb1e3"
      unitRef="U001">112000</us-gaap:ExtendedProductWarrantyAccrualCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_12004ed6fe5e4637bf4644308882412d"
      unitRef="U001">285000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_f9a84ef4fa5b45759cc05503dcd8a32e"
      unitRef="U001">257000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_9debebb91b3343a09121fce4d589ccaa"
      unitRef="U001">676000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_b0c61f4500c44b499f2cf91fe05ac1b3"
      unitRef="U001">968000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="c20211231"
      decimals="-3"
      id="Fact_fd2bb6f7775e43bba19fb003f42bd82c"
      unitRef="U001">3894000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="c20201231"
      decimals="-3"
      id="Fact_c6b17199fca94da0891a6d73fb32823f"
      unitRef="U001">3665000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:CompensationAndEmployeeBenefitPlansTextBlock
      contextRef="c20210101to20211231"
      id="Text_4be85790c86e46c8a04f2516e69d3c63">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;8. Retirement savings plan&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We maintain a 401(k) plan under which all full-time employees are eligible to participate at the beginning of the month immediately
    following their date of hire.&#160; We match employees&#x2019; contributions at a rate of 50% of employees&#x2019; contributions up to the first 6% of the employees&#x2019; compensation contributed to the 401(k) plan.&#160; Our matching contributions were $312 thousand and $270 thousand in 2021 and 2020, respectively.&lt;/div&gt;
</us-gaap:CompensationAndEmployeeBenefitPlansTextBlock>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="c20210101to20211231"
      decimals="2"
      id="Fact_d426313d7c3b4d59b74de28a937f33d9"
      unitRef="U007">0.50</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="c20210101to20211231"
      decimals="2"
      id="Fact_df5ba21bf00e4e28a4a56e5cf567074c"
      unitRef="U007">0.06</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_04beed4c28f3402a82f3ded96b54eff3"
      unitRef="U001">312000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_7f303b8eac4846f2aa74220a947ed066"
      unitRef="U001">270000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="c20210101to20211231"
      id="Text_c4459d7d1a2c45cd8a102ef8e7625707">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;9. Borrowings&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;On March 13, 2020, we entered into a credit facility (the &#x201c;Siena Credit Facility&#x201d;) with Siena Lending Group LLC.&#160; The Siena Credit
    Facility provides for a revolving credit line of up to $10.0 million expiring on March 13, 2023.&#160; Borrowings under the Siena Credit Facility bear a floating rate of interest equal to the greatest of (i) the prime rate plus 1.75%, (ii) the federal funds rate plus 2.25%, and (iii) 6.50%. The total deferred financing costs related to expenses incurred to complete the Siena Credit Facility was $245 thousand, which were reported as &#x201c;Other current assets&#x201d; in current assets and &#x201c;Other assets&#x201d; in non-current assets in the Condensed Consolidated Balance Sheets.&#160; We also pay a
    fee of 0.50% on unused borrowings under the Siena Credit Facility.&#160; Borrowings under the Siena Credit Facility are secured by a lien on
    substantially all the assets of the Company.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The Siena Credit Facility imposes a financial covenant on the Company and borrowings are subject to a borrowing base based on (i) 85% of eligible accounts receivable plus the lesser of (a) $5.0
    million and (b) 50% of eligible raw material and 60%
    of finished goods inventory.&#160; The three-month period from April 1, 2020 to June 30, 2020 was the first period we were subject to the financial covenant, which required the Company to maintain a minimum EBITDA and continued through the 12-month period
    from April 1, 2020 to March 31, 2021.&#160; On July 21, 2021, the Company entered into an amendment (the &#x201c;Credit Facility Amendment&#x201d;) to the Siena Credit Facility.&#160; The Credit Facility Amendment changed the financial covenant under the Siena Credit Facility
    from a minimum EBITDA covenant to an excess availability covenant requiring that the Company maintain excess availability of at least $750
    thousand under the Siena Credit Facility, tested as of the end of each calendar month, beginning with the calendar month ending July 31, 2021.&#160; We have been in compliance with our excess availability covenant each month since July 31, 2021, and as of&#160;
    December 31, 2021 and 2020, we had no
    outstanding borrowings under the Siena Credit Facility and $5.1 million of borrowing capacity available under the Siena Credit Facility as of
    December 31, 2021.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;On May 1, 2020 (the &#x201c;Loan Date&#x201d;), the Company was granted the PPP Loan from Berkshire Bank in the aggregate amount of $2.2 million, pursuant to the PPP.&#160; Under the terms of the PPP, the PPP Loan may be forgiven to the extent that funds from the PPP Loan were used for payroll
    costs and costs to continue group health care benefits, as well as for interest on mortgage obligations incurred before February 15, 2020, rent under lease agreements in effect before February 15, 2020, utilities for which service began before February
    15, 2020, and interest on debt obligations incurred before February 15, 2020, subject to conditions and limitations provided in the CARES Act.&#160; At least 60% (under the PPP terms, as amended) of the proceeds from the PPP Loan needed to have been used
    for eligible payroll costs for the PPP Loan to be forgiven.&lt;/div&gt;

&lt;div style="line-height: 11.4pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;The PPP Loan, which was evidenced by a Note dated the Loan
      Date issued by the Company (the &#x201c;Note&#x201d;) in favor of Berkshire Bank, as lender (the &#x201c;PPP Lender&#x201d;), was scheduled to mature on &lt;/span&gt;May 1, 2022&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; and had a fixed interest rate of &lt;/span&gt;1.0%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; per annum, accruing from the Loan Date and payable monthly.&#160; The Company submitted its PPP Loan forgiveness application in May 2021 to the SBA through Berkshire Bank and submitted the related loan
      necessity questionnaire in June 2021.&#160; On July 8, 2021, the Company received notifications from Berkshire Bank and the SBA that its PPP Loan (including all interest accrued thereon) of $&lt;/span&gt;2.2&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; million had been fully forgiven by the SBA and that the forgiveness payment date was July 1, 2021.&#160; No payments
      were due on the PPP Loan for six months from the date of first disbursement, and because a loan forgiveness application was submitted to the SBA within 10 months after the end of the covered period, no payments were due until the date on which the
      SBA remitted the loan forgiveness&#160; amount to the PPP Lender and interest accrued during the deferment period was included in the forgiveness amount.&#160; &lt;/span&gt;The Note was unsecured and guaranteed by the SBA.&#160; &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;The forgiveness of the PPP Loan was reported as &#x201c;Gain on forgiveness of long-term debt&#x201d; in the Consolidated Statement of Operations during the year ended December 31, 2021.&lt;/span&gt;&lt;/div&gt;
</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="-5"
      id="Fact_83863965a2f44a52a11767c0676d502c"
      unitRef="U001">10000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityExpirationDate1
      contextRef="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      id="Fact_f9b255056917473b84d74a09a2b1a38f">2023-03-13</us-gaap:LineOfCreditFacilityExpirationDate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_PrimeRateMember"
      decimals="4"
      id="Fact_7261681b17a94bc9872a9646636e2b8f"
      unitRef="U007">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_FederalFundsEffectiveSwapRateMember"
      decimals="4"
      id="Fact_3f3a242145394469b4015bd00b5c8bc7"
      unitRef="U007">0.0225</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="c20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="4"
      id="Fact_ee21771357d5492b8e9869d2b9234968"
      unitRef="U007">0.0650</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="-3"
      id="Fact_cb1a013b5f2d4fef8bbab097986b43ed"
      unitRef="U001">245000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="4"
      id="Fact_46df7dd3df9e401f809164fdd307c289"
      unitRef="U007">0.0050</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <tact:DebtInstrumentFinancialCovenantEligibleAccountsReceivable
      contextRef="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="2"
      id="Fact_bb2430f0ce814f5a95db00a42846c6e8"
      unitRef="U007">0.85</tact:DebtInstrumentFinancialCovenantEligibleAccountsReceivable>
    <tact:DebtInstrumentFinancialCovenantEligibleInventory
      contextRef="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="-5"
      id="Fact_80a5915551ff41abb0fc69682a8e4550"
      unitRef="U001">5000000.0</tact:DebtInstrumentFinancialCovenantEligibleInventory>
    <tact:DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage
      contextRef="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="2"
      id="Fact_6a77fd2f2e3f4d94a28b2c6708586191"
      unitRef="U007">0.50</tact:DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage>
    <tact:DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage
      contextRef="c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="2"
      id="Fact_1e6b99c31dfa48dcb79a8b1c871aa09f"
      unitRef="U007">0.60</tact:DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="c20210721_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_RangeAxis_MinimumMember"
      decimals="-3"
      id="Fact_c5f816e9fe854e0895baef3efe5af6d5"
      unitRef="U001">750000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:SecuredDebt
      contextRef="c20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="-3"
      id="Fact_8d77b269c68b4b79bc5f6b206d762cd1"
      unitRef="U001">0</us-gaap:SecuredDebt>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="c20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="-5"
      id="Fact_b4d066465ce24ec89f39864c32f8f9ae"
      unitRef="U001">5100000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="c20200501_DebtInstrumentAxis_PaycheckProtectionProgramLoanMember"
      decimals="-5"
      id="Fact_20b7e2ce0a5e42f4a3876dec24ba1358"
      unitRef="U001">2200000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:LineOfCreditFacilityExpirationDate1
      contextRef="c20210101to20211231_DebtInstrumentAxis_PaycheckProtectionProgramLoanMember"
      id="Fact_55bff91d464a40aab53da3bb7172cb29">2022-05-01</us-gaap:LineOfCreditFacilityExpirationDate1>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="c20211231_DebtInstrumentAxis_PaycheckProtectionProgramLoanMember"
      decimals="3"
      id="Fact_7f25ad0a4ed649a69d327e2e0b66bb61"
      unitRef="U007">0.010</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentDecreaseForgiveness
      contextRef="c20210701to20210701_DebtInstrumentAxis_PaycheckProtectionProgramLoanMember"
      decimals="-5"
      id="Fact_7a434c3d4d0d4945ba097f779dcf8d0b"
      unitRef="U001">2200000</us-gaap:DebtInstrumentDecreaseForgiveness>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="c20210101to20211231"
      id="Text_da76e37629e04642b6231ec47d5ba588">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;10. Stock incentive plans&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Stock incentive
      plans&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;.&lt;/span&gt;&#160; We currently have two
    stock incentive plans: the 2005 Equity Incentive Plan and the 2014 Equity Incentive Plan, which provide for awards to executives, key employees, directors and consultants.&#160; The plans generally provide for awards in the form of: (i) incentive stock
    options, (ii) non-qualified stock options, (iii) restricted stock, (iv) restricted stock units (which may include performance-based vesting), (v) stock appreciation rights or (vi) limited stock appreciation rights.&#160; Awards granted under these plans
    have exercise prices equal to 100% of the fair market value of the common stock at the date of grant.&#160; Awards granted have a ten-year term and generally vest over a two-year
    to five-year period, unless automatically accelerated for certain defined events.&#160; As of May 2014, no new awards may be made under the 2005
    Equity Incentive Plan.&#160; Under our 2014 Equity Incentive Plan, as amended in May 2020, we are authorized to grant awards of up to 2,200,000
    shares of TransAct common stock.&#160; At December 31, 2021, 611,652 shares of common stock remained available for issuance under the 2014 Equity Incentive Plan.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Under the assumptions indicated below, the weighted-average per share fair value of stock option grants for 2021 and 2020 was $5.41 and $3.19, respectively.&#160; We also issued
    restricted stock units for certain executives and directors that vest over a specified period of time, and in some instances require achieving certain performance metrics.&#160; The weighted-average per share fair value of these restricted stock units was $10.27 and $9.77 in 2021 and 2020, respectively.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The table below indicates the key assumptions used in the option valuation calculations for options granted in 2021 and 2020 and a discussion of our
    methodology for developing each of the assumptions used in the valuation model:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected option term (in years)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6.9&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7.0&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected volatility&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;50.5&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;41.7&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Risk-free interest rate&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.9&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Dividend yield&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.0&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.0&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Expected Option
      Term&lt;/span&gt; - This is the weighted average period of time over which the options granted are expected to remain outstanding giving consideration to our historical exercise patterns.&#160; Options granted have a maximum term of ten years and an increase in the expected term will increase compensation expense.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Expected Volatility&lt;/span&gt;
    &#x2013; The stock volatility for each grant is measured using the weighted average of historical daily price changes of our common stock over the most recent period approximately equal to the expected option term of the grant.&#160; An increase in the expected
    volatility factor will increase compensation expense.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Risk-Free Interest
      Rate&lt;/span&gt; - This is the U.S. Treasury rate in effect at the time of grant having a term approximately equal to the expected term of the option.&#160; An increase in the risk-free interest rate will increase compensation expense.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Dividend Yield&lt;/span&gt;
    &#x2013;The dividend yield is calculated by dividing the annual dividend declared per common share by the weighted average market value of our common stock on the date of grant. An increase in the dividend yield will decrease compensation expense.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;For 2021 and 2020, we recorded $1.2 million and $0.9 million of share-based compensation expense, respectively, included primarily in general and administrative expense in our Consolidated Statements of
    Operations.&#160; We also recorded income tax benefits of $265 thousand and $193 thousand in 2021 and 2020, respectively, related to such share-based compensation.&#160; At December 31, 2021,
    these benefits are recorded as a deferred tax asset in the Consolidated Balance Sheets.&lt;/div&gt;

&lt;div style="text-align: left; line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Equity award activity in the 2005 Equity Incentive Plan and the 2014 Equity Incentive Plan is summarized below:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock Options&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Restricted Stock Units&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Number of Shares&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt; Average Price*&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Number of Units&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Average Price**&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Outstanding at December 31, 2020&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,287,605&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8.98&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;110,550&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10.30&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Granted&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;153,000&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10.55&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;95,200&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10.27&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Exercised&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(97,000&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8.47&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(50,525&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10.29&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Forfeited&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(45,750&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8.87&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expired&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(28,500&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10.22&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Outstanding at December 31, 2021&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,269,355&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9.18&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;155,225&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10.28&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;*&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;
          &lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;weighted average exercise price per share&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;**&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;
          &lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;weighted average grant stock price per share&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following summarizes information about equity awards outstanding that are vested and expect to vest and equity awards that are exercisable at
    December 31, 2021:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Equity Awards Vested and Expected to Vest&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Equity Awards That Are Exercisable&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Awards&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Average Price*&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Aggregate Intrinsic Value&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Remaining Term**&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Awards&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Average Price*&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Aggregate Intrinsic Value&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Remaining Term**&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 20%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock Options&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,269,355&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9.18&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,662&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5.6&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;856,723&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9.00&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,982&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4.1&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 20%;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Restricted stock units&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;132,518&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,444&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2.2&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;*&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;
          &lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;weighted average exercise price per share&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;**&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;
          &lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;weighted-average contractual remaining term in years&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Shares that are issued upon exercise of employee stock awards are newly issued shares and not issued from treasury stock.&#160; As of
    December 31, 2021, unrecognized compensation cost related to non-vested equity awards granted under our stock incentive plans is approximately
    $2.1 million, which is expected to be recognized over a weighted average period of 2.4 years.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The total fair value of awards vested was $1.7 million during both the years ended December 31, 2021 and 2020.&#160; The total intrinsic value (which is the amount by which the stock price exceeded the exercise price on the date of exercise) of stock options
    exercised during the years ended December 31, 2021 and 2020 was $268 thousand and $174 thousand, respectively, and cash received from option exercises
    was $436 thousand and $375 thousand in
    2021 and 2020, respectively.&#160; 97,000
    and 62,500 stock options were exercised during the year ended December 31, 2021 and 2020, respectively.&#160; We recorded a realized tax provision in 2021 and 2020 from
    equity-based awards of $35 thousand and $14
    thousand, respectively, related to options exercised.&lt;/div&gt;
</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans
      contextRef="c20210101to20211231"
      decimals="INF"
      id="Fact_c0446810db7a4765a230800d354fb505"
      unitRef="U008">2</tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans>
    <tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant
      contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember"
      decimals="2"
      id="Fact_a6fffe9626ed4af9bc03b7667207685a"
      unitRef="U007">1</tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember"
      id="Fact_514f01e874f74d0bbe7aa99ba1cd74b5">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MinimumMember"
      id="Fact_3e74fe5487d649b29df7fa4a57066032">P2Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MaximumMember"
      id="Fact_08cee7a0457145db95337e8c6dc85b79">P5Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c20211231_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_462b36ee871a45ffa76d3f5b33c5cf1b"
      unitRef="U002">2200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="c20211231_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_f1b29437f19248a4b76e4e80a6be29c6"
      unitRef="U002">611652</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_73404a201f5a4a6d88c0d36571ed7ac0"
      unitRef="U003">5.41</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20201231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_7e49c77882124d5abf93105e24707e19"
      unitRef="U003">3.19</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_8974ab6f05554141bef9df358bb02748"
      unitRef="U003">10.27</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20201231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_0e536b7ad2574d2d94844ed115408b17"
      unitRef="U003">9.77</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="c20210101to20211231"
      id="Text_443bc1fe568e41aa8f39dc0d1190791a">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The table below indicates the key assumptions used in the option valuation calculations for options granted in 2021 and 2020 and a discussion of our
    methodology for developing each of the assumptions used in the valuation model:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected option term (in years)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6.9&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7.0&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected volatility&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;50.5&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;41.7&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Risk-free interest rate&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.9&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Dividend yield&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.0&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.0&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="c20210101to20211231_PlanNameAxis_EquityIncentivePlan2014Member"
      id="Fact_4f5d62f51f774ba7850beaeddb73a635">P6Y10M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="c20200101to20201231_PlanNameAxis_EquityIncentivePlan2014Member"
      id="Fact_897eba36fe294229a7172dcaefea987d">P7Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="c20210101to20211231_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="3"
      id="Fact_1b8b7ec97213480391110fdecc896dfb"
      unitRef="U007">0.505</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="c20200101to20201231_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="3"
      id="Fact_764d6819fb0d4b5e811e38b6ea28615b"
      unitRef="U007">0.417</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="c20210101to20211231_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="3"
      id="Fact_e022b718c2484b8ea135fb30d1185643"
      unitRef="U007">0.012</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="c20200101to20201231_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="3"
      id="Fact_6eec17bf8e244bf3be88a9231d66d363"
      unitRef="U007">0.009</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="c20210101to20211231_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="3"
      id="Fact_89e9fdd7bb6b41db8545dee7679eb896"
      unitRef="U007">0.000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="c20200101to20201231_PlanNameAxis_EquityIncentivePlan2014Member"
      decimals="3"
      id="Fact_e6b85abdea584aa48b8e365341b01ef8"
      unitRef="U007">0.000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member"
      id="Fact_2e2e4600bf51437596bca38e2f874805">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20210101to20211231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember"
      decimals="-5"
      id="Fact_47f917c833f6479ab798d5d8e0dd67dc"
      unitRef="U001">1200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="c20200101to20201231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember"
      decimals="-5"
      id="Fact_cfce5c865d5044c39f643ca03b676a8a"
      unitRef="U001">900000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_c44bfe089eac4c55a134298379de1df3"
      unitRef="U001">265000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_3494eb034938410b808da608a01a576d"
      unitRef="U001">193000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="c20210101to20211231"
      id="Text_629fd486a6bb45a4a9c5750f6f4cd8a8">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Equity award activity in the 2005 Equity Incentive Plan and the 2014 Equity Incentive Plan is summarized below:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock Options&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Restricted Stock Units&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Number of Shares&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt; Average Price*&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Number of Units&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Average Price**&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Outstanding at December 31, 2020&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,287,605&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8.98&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;110,550&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10.30&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Granted&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;153,000&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10.55&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;95,200&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10.27&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Exercised&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(97,000&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8.47&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(50,525&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10.29&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Forfeited&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(45,750&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8.87&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expired&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(28,500&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10.22&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Outstanding at December 31, 2021&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,269,355&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9.18&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;155,225&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10.28&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;*&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;
          &lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;weighted average exercise price per share&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;**&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;
          &lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;weighted average grant stock price per share&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="c20201231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_3c660fd4f904452eb241379a5f8277b6"
      unitRef="U002">1287605</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c20201231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_eda0294a1e184539a4e55e0cc64a32e4"
      unitRef="U003">8.98</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="c20201231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_d5114355604e40c683f069058e93991f"
      unitRef="U002">110550</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20201231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_4532d7bb5d5e49a59bc227be7b49e3c3"
      unitRef="U003">10.30</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_1b3d7f5458f74f59b6751628de172f28"
      unitRef="U002">153000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_11f7c7940cb447f4be4b89111a161e61"
      unitRef="U003">10.55</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_c111bb39a9cc46aba4cca2dbacb1d937"
      unitRef="U002">95200</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_3c1bc3bf75ae42809b901affb2e39d83"
      unitRef="U003">10.27</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_7479229f4aca4ad28c0da55fafff54c2"
      unitRef="U002">97000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_341af3cccf6b4c90b6dacfd466c2a72a"
      unitRef="U003">8.47</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_3f2ff4593b5c4752a5df4c0df073013c"
      unitRef="U002">50525</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
    <tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue
      contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_a9c83316b680472f8697b2f43948f41d"
      unitRef="U003">10.29</tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_733981a4b40849cd9901b868884a6067"
      unitRef="U002">45750</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_4d318218b4c8419da5729ae5d3a44d0d"
      unitRef="U003">8.87</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures
      contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="INF"
      id="Fact_b1e117fc6966409887e96dfb8249c706"
      unitRef="U002">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_f42cd3a3f3ca4efcab1a34623971b4b0"
      unitRef="U003">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_e4a28318d41a4789b83387b19f58332b"
      unitRef="U002">28500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_7fa9fff2f815438785e751a7709e7b83"
      unitRef="U003">10.22</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations
      contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="INF"
      id="Fact_042f482f5bb64aebb4ce60466dd45588"
      unitRef="U002">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations>
    <tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue
      contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_3f635a049bd440c699554704b596c0f4"
      unitRef="U003">0</tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_88fb2dba800b474c9d09c6260d4132a1"
      unitRef="U002">1269355</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_58c63cc0cfda4df393fec3b461f57817"
      unitRef="U003">9.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="c20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_14cc96933fb0409f815add75fef77931"
      unitRef="U002">155225</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_fbd2499553ba4833a79eeb4cc73d1d0d"
      unitRef="U003">10.28</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock
      contextRef="c20210101to20211231"
      id="Text_b4ce87dfa5d941c482369c20af06926f">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following summarizes information about equity awards outstanding that are vested and expect to vest and equity awards that are exercisable at
    December 31, 2021:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Equity Awards Vested and Expected to Vest&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Equity Awards That Are Exercisable&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Awards&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Average Price*&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Aggregate Intrinsic Value&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Remaining Term**&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Awards&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Average Price*&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Aggregate Intrinsic Value&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Remaining Term**&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 20%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock Options&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,269,355&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9.18&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,662&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5.6&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;856,723&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9.00&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,982&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4.1&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 20%;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Restricted stock units&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;132,518&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,444&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2.2&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 7%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;*&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;
          &lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;weighted average exercise price per share&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;**&lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;
          &lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;weighted-average contractual remaining term in years&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_c627e48a6a4b4cc8b69556889b939989"
      unitRef="U002">1269355</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
      contextRef="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_46445371553641de90936e45fc92e64c"
      unitRef="U003">9.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="-3"
      id="Fact_b48e5d24f0974e24a1cebdca19760b60"
      unitRef="U001">2662000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      id="Fact_2200dbb582a34135a33a33e7991a39fc">P5Y7M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_4d55c6a4cdbe4f73b0aa586d97a6d276"
      unitRef="U002">856723</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="2"
      id="Fact_86c7680febb546969024d9eb2d4b8462"
      unitRef="U003">9.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="c20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="-3"
      id="Fact_36caa33be3164d959eb13ca6caa70d8c"
      unitRef="U001">1982000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      id="Fact_01fe42f5d6f34989a866fbd5509a91ea">P4Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="c20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_864529d456124f059f0316dbe6bcaa9f"
      unitRef="U002">132518</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
      contextRef="c20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_49be8004ba664c0eaf328ac4dc33e44c"
      unitRef="U003">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="-3"
      id="Fact_6280f3d2021b4e849b3d683fb87c595f"
      unitRef="U001">1444000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms
      contextRef="c20210101to20211231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      id="Fact_40d1567dd34c48a8b2ddc99b368df7e7">P2Y2M12D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
      contextRef="c20211231"
      decimals="-5"
      id="Fact_7c2d12fac46841259de7eb70a37dd587"
      unitRef="U001">2100000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="c20210101to20211231"
      id="Fact_0c0dc39dc4c84e51a9b9aa7d29e31b28">P2Y4M24D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="c20210101to20211231"
      decimals="-5"
      id="Fact_659a6b38d9824abdb54aaf4f8a3077bb"
      unitRef="U001">1700000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="c20200101to20201231"
      decimals="-5"
      id="Fact_3f9f9865ab944f819bb2b7e1a684cfa6"
      unitRef="U001">1700000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_2430d9ae81d94200a5320597cb1bcafa"
      unitRef="U001">268000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_d1878fca51644e6ca737dd149d7747d2"
      unitRef="U001">174000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_acd1efc0f38d4ca8838cf640512cd886"
      unitRef="U001">436000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_205b07d9b52d4c0c93da30c43500c978"
      unitRef="U001">375000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_310ca98fc6d74e57abd4d55c7ac35830"
      unitRef="U002">97000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20200101to20201231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member"
      decimals="0"
      id="Fact_f864a7206669466b80d21877a3c3b3a4"
      unitRef="U002">62500</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_6b76a561701c41f1b0c527dd4853d7e1"
      unitRef="U001">-35000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_a89d63edc3804fcf82bdd27708259d54"
      unitRef="U001">-14000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="c20210101to20211231"
      id="Text_762da0a85f5b417aa5d8f3d477394e38">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;11. Income taxes&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of the income tax benefit are as follows:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Current:&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Federal&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;26&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2,141&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;State&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;51&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;17&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Foreign&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(48&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;79&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2,172&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred:&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Federal&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2,086&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(483&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;State&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(62&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(36&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Foreign&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;152&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2,150&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(367&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Income tax benefit&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2,071&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2,539&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Our effective tax rates were &lt;/span&gt;33.3%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; and &lt;/span&gt;31.1%&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; for &lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; and &lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;, respectively.&#160; The tax benefit recorded for 2021 included the recognition of the gain on the forgiveness of the PPP Loan which is not taxable.&#160; &lt;/span&gt;The effective tax rate for 2020 included the impact of the net operating
    loss (&#x201c;NOL&#x201d;) that we carried back to prior years.&#160; The CARES Act permits NOLs incurred in 2018, 2019 and 2020 to be carried back to each of the five preceding taxable years to generate a refund of previously paid income taxes.&#160; We generated a NOL for
    2020 which was carried back to tax years that had a federal statutory tax rate of 34% compared to 21% in 2020 and resulted in a tax refund of $2.2 million that was received in October 2021 causing a significant reduction in prepaid income taxes at December 31, 2021 compared to
    December 31, 2020.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;At December 31, 2021, we
    have $2.0 million of federal net operating loss carryforwards and $78 thousand of state net operating loss carryforwards, $901 thousand in R&amp;amp;D credit
    carryforwards, and no state tax credit carryforwards.&#160; Foreign loss before taxes was $404 thousand and $468 thousand in 2021 and 2020, respectively.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred income taxes arise from temporary differences between the tax basis of assets and liabilities and their reported amounts in the Consolidated
    Financial Statements.&#160; Our deferred tax assets and liabilities were comprised of the following:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
          &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred tax assets:&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Federal net operating losses&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,976&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Foreign net operating losses&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;624&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;563&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Depreciation&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;306&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;302&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Inventory reserves&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;710&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;719&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred revenue&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;24&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;47&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranty reserve&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;22&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;31&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock compensation expense&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;796&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;731&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other accrued compensation&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;308&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;388&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;R&amp;amp;D credit carryforward&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;901&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;460&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other liabilities and reserves&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;250&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;394&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross deferred tax assets&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,917&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,635&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Valuation allowance&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(733&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(659&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -18pt; margin-left: 45pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net deferred tax assets&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,184&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,976&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred tax liabilities:&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;43&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;37&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 36pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net deferred tax liabilities&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;43&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;37&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total net deferred tax assets&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,141&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,939&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;As of December 31, 2021, a valuation allowance
    of $733 thousand has been established for foreign net operating loss carryforwards that are not expected to be used. The following table
    summarizes the activity recorded in the valuation allowance on the deferred tax assets:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;659&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;444&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Additions charged to income tax provision&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;74&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;215&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;733&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;659&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Differences between the U.S. statutory federal income tax rate and our effective income tax rate are analyzed below:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Federal statutory rate&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21.0&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21.0&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;PPP loan forgiveness&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7.4&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;R&amp;amp;D credit&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7.1&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4.2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock award excess tax benefit&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.3&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.3&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;State income taxes, net of federal income taxes&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.1&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;U.S. corporate tax rate change&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9.5&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Business meals and entertainment&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.1&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Miscellaneous permanent items&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.3&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Uncertain tax positions&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.4&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock option cancellations&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.6&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.5&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Valuation allowance and tax accruals&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1.2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2.6&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.1&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.3&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Effective tax rate&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;33.3&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;31.1&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We had $144 thousand and $121 thousand of total gross unrecognized tax benefits at December 31, 2021
    and 2020, respectively that, if recognized, would favorably affect the effective income tax rate in any future periods.&#160; We are not aware of
    any events that could occur within the next twelve months that could cause a significant change in the total amount of unrecognized tax benefits.&#160; A tabular reconciliation of the gross amounts of unrecognized tax benefits at the beginning and end of
    the year is as follows:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;121&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;107&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Tax positions taken during the current period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;47&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;41&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Lapse of statute of limitations&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(24&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(27&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;144&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;121&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We expect $28 thousand of
    the $144 thousand of unrecognized tax benefits will reverse in 2022 upon the expiration of the statute of limitations.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We recognize interest and penalties related to uncertain tax positions in the income tax provision.&#160; We have accrued interest and
    penalties related to uncertain tax positions of $20 thousand and $19 thousand as of December 31, 2021 and 2020, respectively.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We are subject to U.S. federal income tax as well as income tax of certain state and foreign jurisdictions.&#160; We have substantially
    concluded all U.S. federal income tax, state and local, and foreign tax matters through 2017.&#160; However, our federal tax returns for the years 2018 through 2021 remain open to examination. Various state and foreign tax jurisdiction tax years remain open
    to examination as well, though we believe that any additional assessment would be immaterial to the Consolidated Financial Statements.&lt;/div&gt;
</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="c20210101to20211231"
      id="Text_b61312c964cb467286cd92aa5f7655ca">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of the income tax benefit are as follows:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Current:&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Federal&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;26&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2,141&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;State&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;51&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;17&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Foreign&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(48&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;79&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2,172&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred:&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Federal&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2,086&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(483&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;State&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(62&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(36&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Foreign&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;152&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2,150&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(367&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Income tax benefit&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2,071&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2,539&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_2036a8e46f1641f9bf4c03b4508d6359"
      unitRef="U001">26000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_95d45f9296314278ae2ff005c24fd012"
      unitRef="U001">-2141000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_343fb1f8a6fe4a2b912ae016576248f6"
      unitRef="U001">51000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_5301c06c08e74a9cbd7689082bf4becc"
      unitRef="U001">17000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_4e81d74d439e4439ba7031a5e97d67ab"
      unitRef="U001">2000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_4c9125d6f49c48b597fa96153c4be0c5"
      unitRef="U001">-48000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_d815ce00fe434a0cb6171c31a849e5d3"
      unitRef="U001">79000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_f0548f0a39174523b90374c7b408ad1c"
      unitRef="U001">-2172000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_a9ecf342f07b4b6bb4d501cdd1252d5a"
      unitRef="U001">-2086000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_a2b884195254430bbdd574edb58cba2b"
      unitRef="U001">-483000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_3a28d277ca5c43f7a7e7911d7347b7ac"
      unitRef="U001">-62000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_e43a42386ad444b586bd7e438a1813bb"
      unitRef="U001">-36000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_e828246ba6f34286baed84131ac3ecd0"
      unitRef="U001">-2000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_9f9cc403ba51444a8669807be5012d47"
      unitRef="U001">152000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_bedb0f2f8e1f49cc97a9b70b50c09925"
      unitRef="U001">-2150000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_4bfc5e34f8914050aae79191e657746c"
      unitRef="U001">-367000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_93d8e46c25bc4d899e560d353260ff8c"
      unitRef="U001">-2071000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_124d14cce1d44e26a1b35a1e78b8bb6c"
      unitRef="U001">-2539000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="c20210101to20211231"
      decimals="3"
      id="Fact_d9ecbd78fb9c4f85baa9075b7ef9019a"
      unitRef="U007">0.333</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="c20200101to20201231"
      decimals="3"
      id="Fact_67707c0d504b4042a233249ff3b89876"
      unitRef="U007">0.311</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="c20170101to20171231"
      decimals="2"
      id="Fact_21d52b3bcf9847baaa2330120d8968c6"
      unitRef="U007">0.34</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="c20210101to20211231"
      decimals="2"
      id="Fact_2386bc32d901475795639ad9ede03e53"
      unitRef="U007">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:OperatingLossCarryforwards
      contextRef="c20211231_IncomeTaxAuthorityAxis_DomesticCountryMember"
      decimals="-5"
      id="Fact_8273e21bc0f149909f8a081a65189f74"
      unitRef="U001">2000000.0</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="c20211231_IncomeTaxAuthorityAxis_StateAndLocalJurisdictionMember"
      decimals="-3"
      id="Fact_6a3d18b46e3e487b97a14f0e5bc09061"
      unitRef="U001">78000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="c20211231_TaxCreditCarryforwardAxis_ResearchMember"
      decimals="-3"
      id="Fact_11756a0d9e8c49dc9263fbfb31a6ecbe"
      unitRef="U001">901000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="c20211231_IncomeTaxAuthorityAxis_StateAndLocalJurisdictionMember"
      decimals="-3"
      id="Fact_62ff675ce3f94013affbc60539306fae"
      unitRef="U001">0</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_605936305474420e830611155db1d333"
      unitRef="U001">404000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_2e854583b76a45d0b15a69c9dd6db44f"
      unitRef="U001">468000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="c20210101to20211231"
      id="Text_623cf2a1daa64270a86c67eb451df3ce">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred income taxes arise from temporary differences between the tax basis of assets and liabilities and their reported amounts in the Consolidated
    Financial Statements.&#160; Our deferred tax assets and liabilities were comprised of the following:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
          &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred tax assets:&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Federal net operating losses&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,976&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Foreign net operating losses&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;624&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;563&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Depreciation&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;306&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;302&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Inventory reserves&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;710&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;719&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred revenue&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;24&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;47&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranty reserve&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;22&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;31&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock compensation expense&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;796&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;731&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other accrued compensation&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;308&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;388&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;R&amp;amp;D credit carryforward&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;901&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;460&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other liabilities and reserves&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;250&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;394&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross deferred tax assets&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,917&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,635&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Valuation allowance&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(733&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(659&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -18pt; margin-left: 45pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net deferred tax assets&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,184&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,976&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred tax liabilities:&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;43&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;37&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 36pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net deferred tax liabilities&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;43&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;37&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total net deferred tax assets&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,141&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,939&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic
      contextRef="c20211231"
      decimals="-3"
      id="Fact_16abadb0f1294b1f970a723503c7a6a2"
      unitRef="U001">1976000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic
      contextRef="c20201231"
      decimals="-3"
      id="Fact_53f200a5d0024caf83e4585e5bf6d941"
      unitRef="U001">0</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign
      contextRef="c20211231"
      decimals="-3"
      id="Fact_88edf2c61b3546b59016c35a82b1501c"
      unitRef="U001">624000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign
      contextRef="c20201231"
      decimals="-3"
      id="Fact_2ce8eadea0144f5c8efeca1a26d4f9bf"
      unitRef="U001">563000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements
      contextRef="c20211231"
      decimals="-3"
      id="Fact_e8ba781de59a4fe7afff21db820e3381"
      unitRef="U001">306000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements
      contextRef="c20201231"
      decimals="-3"
      id="Fact_a7b4c5b69803432bbbd430b0855c6b80"
      unitRef="U001">302000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="c20211231"
      decimals="-3"
      id="Fact_2bfcfd9994e14c7fa32858ce3baddcfc"
      unitRef="U001">710000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="c20201231"
      decimals="-3"
      id="Fact_f34b49bfd4a84cd38f897b50e31cc593"
      unitRef="U001">719000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsDeferredIncome
      contextRef="c20211231"
      decimals="-3"
      id="Fact_e152ed207a1c4f7a8f8f8e6ed6d12294"
      unitRef="U001">24000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <us-gaap:DeferredTaxAssetsDeferredIncome
      contextRef="c20201231"
      decimals="-3"
      id="Fact_20080afb7cfb45eeb9063edd51d5293c"
      unitRef="U001">47000</us-gaap:DeferredTaxAssetsDeferredIncome>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves
      contextRef="c20211231"
      decimals="-3"
      id="Fact_247a2ce379e14881b2a9efa0751caa24"
      unitRef="U001">22000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves
      contextRef="c20201231"
      decimals="-3"
      id="Fact_cc6b0011956c4ec3822fa1fefa9b45cc"
      unitRef="U001">31000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="c20211231"
      decimals="-3"
      id="Fact_3a1365cd768a4dc58913edb95ef73754"
      unitRef="U001">796000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="c20201231"
      decimals="-3"
      id="Fact_228807ecf1ee49179377e6b54c9da122"
      unitRef="U001">731000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="c20211231"
      decimals="-3"
      id="Fact_39ae37214c1d450cb695314f03d5928d"
      unitRef="U001">308000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="c20201231"
      decimals="-3"
      id="Fact_d984ef766ec54eccb3e03bda1ca61dc0"
      unitRef="U001">388000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="c20211231"
      decimals="-3"
      id="Fact_faeb8041d5254e48ab65f9e32b5a0211"
      unitRef="U001">901000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="c20201231"
      decimals="-3"
      id="Fact_7c2037576786491faffb0b6a7d83cbcf"
      unitRef="U001">460000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="c20211231"
      decimals="-3"
      id="Fact_022d50737d954193bdfa4b8e8c600692"
      unitRef="U001">250000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="c20201231"
      decimals="-3"
      id="Fact_a0aeabd894fc459c897bcb8b4dd81770"
      unitRef="U001">394000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="c20211231"
      decimals="-3"
      id="Fact_5a6568a0e93f467c864f10fec24ed765"
      unitRef="U001">5917000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="c20201231"
      decimals="-3"
      id="Fact_dfbb9f7b89d7476faedf437f90a7451f"
      unitRef="U001">3635000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="c20211231"
      decimals="-3"
      id="Fact_e2ec8936c16c4b49bd405fbc676f9344"
      unitRef="U001">733000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="c20201231"
      decimals="-3"
      id="Fact_e3d4b76e478447dc96af1a9e951e1127"
      unitRef="U001">659000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="c20211231"
      decimals="-3"
      id="Fact_6ba1b36eaefc48f8bace56895ae8547a"
      unitRef="U001">5184000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="c20201231"
      decimals="-3"
      id="Fact_b6aa56ca0b2343db94ce5695b26048ac"
      unitRef="U001">2976000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="c20211231"
      decimals="-3"
      id="Fact_bd1cff22b6d843a59ae370875afe1fea"
      unitRef="U001">43000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="c20201231"
      decimals="-3"
      id="Fact_a421d3416220436fbe281ff02d00ef6a"
      unitRef="U001">37000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilities
      contextRef="c20211231"
      decimals="-3"
      id="Fact_4733597541114f6eb29d30185eeb3ff9"
      unitRef="U001">43000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="c20201231"
      decimals="-3"
      id="Fact_ec0fa876b4ac41b7acfb7bbdb507524c"
      unitRef="U001">37000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="c20211231"
      decimals="-3"
      id="Fact_dfd25beab9a44c60bbfdc2bd812172cb"
      unitRef="U001">5141000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="c20201231"
      decimals="-3"
      id="Fact_6680b54e4b5743958a34371d7ae0b0d1"
      unitRef="U001">2939000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:SummaryOfValuationAllowanceTextBlock
      contextRef="c20210101to20211231"
      id="Text_ee4413c3e26a485394a68ad2b5355c39">
&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;As of December 31, 2021, a valuation allowance
    of $733 thousand has been established for foreign net operating loss carryforwards that are not expected to be used. The following table
    summarizes the activity recorded in the valuation allowance on the deferred tax assets:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;659&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;444&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Additions charged to income tax provision&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;74&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;215&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;733&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;659&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:SummaryOfValuationAllowanceTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c20211231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"
      decimals="-3"
      id="Fact_b698a9eae4d640b2811fb11fcb57880d"
      unitRef="U001">733000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c20201231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"
      decimals="-3"
      id="Fact_2c731a8b0e1a4057b9fe7b43cd15b109"
      unitRef="U001">659000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c20191231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"
      decimals="-3"
      id="Fact_3afaa3339c194866b995a70f35dc2bbb"
      unitRef="U001">444000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="c20210101to20211231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"
      decimals="-3"
      id="Fact_c96fd23149cf46319efd464890de4128"
      unitRef="U001">74000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="c20200101to20201231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"
      decimals="-3"
      id="Fact_6b6e98f0d27d4220bc0b95dc11a3e286"
      unitRef="U001">215000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c20211231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"
      decimals="-3"
      id="Fact_9c0aedd2d3664800a8c014d899750c65"
      unitRef="U001">733000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="c20201231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember"
      decimals="-3"
      id="Fact_6e39d5d18d5543fca06e7f6c847ae9a9"
      unitRef="U001">659000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="c20210101to20211231"
      id="Text_8fd97212ddee4af293ac0c58bf87ba7f">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Differences between the U.S. statutory federal income tax rate and our effective income tax rate are analyzed below:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Federal statutory rate&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21.0&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21.0&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;PPP loan forgiveness&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7.4&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;R&amp;amp;D credit&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7.1&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4.2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock award excess tax benefit&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.3&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.3&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;State income taxes, net of federal income taxes&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.1&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;U.S. corporate tax rate change&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9.5&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Business meals and entertainment&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.1&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Miscellaneous permanent items&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.3&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Uncertain tax positions&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.4&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock option cancellations&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.6&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.5&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Valuation allowance and tax accruals&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1.2&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2.6&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.1&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.3&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Effective tax rate&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;33.3&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;31.1&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="c20210101to20211231"
      decimals="3"
      id="Fact_c27e506ae06942bb95196c2c8c14b392"
      unitRef="U007">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="c20200101to20201231"
      decimals="3"
      id="Fact_697628854cbf4cf79f7036693c03dfd5"
      unitRef="U007">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion
      contextRef="c20210101to20211231"
      decimals="3"
      id="Fact_d68268f9b172477b9497325cddbffaaa"
      unitRef="U007">-0.074</us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion>
    <us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion
      contextRef="c20200101to20201231"
      decimals="3"
      id="Fact_4f0f94540a6740deb181a456421a16ac"
      unitRef="U007">0</us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="c20210101to20211231"
      decimals="3"
      id="Fact_61285873dfcf4e5c9475e037e9a48d6f"
      unitRef="U007">-0.071</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="c20200101to20201231"
      decimals="3"
      id="Fact_5faaa5ddfda54440906c7a22ead561b8"
      unitRef="U007">-0.042</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="c20210101to20211231"
      decimals="3"
      id="Fact_2aabf4d620ed4d7183ffb68748d41fbe"
      unitRef="U007">0.003</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="c20200101to20201231"
      decimals="3"
      id="Fact_78befc5f9d8941d7a1fa7f3056b6a2ea"
      unitRef="U007">-0.003</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="c20210101to20211231"
      decimals="3"
      id="Fact_e4fc2ac783e241ceafadafbaa33b07ca"
      unitRef="U007">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="c20200101to20201231"
      decimals="3"
      id="Fact_48b0a96329bf4d4e954a0e01a50392d0"
      unitRef="U007">0.002</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="c20210101to20211231"
      decimals="3"
      id="Fact_105a0258e7d54ca8944ec95cccdd7725"
      unitRef="U007">0</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="c20200101to20201231"
      decimals="3"
      id="Fact_fd2a462f7d0241cb91b8a57f5e4a8116"
      unitRef="U007">0.095</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment
      contextRef="c20210101to20211231"
      decimals="3"
      id="Fact_b3766e30d77f409bb7edf52c8405b9d5"
      unitRef="U007">-0.002</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment
      contextRef="c20200101to20201231"
      decimals="3"
      id="Fact_b43694a9b111476dac61eaa557bf97fd"
      unitRef="U007">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment>
    <tact:EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent
      contextRef="c20210101to20211231"
      decimals="3"
      id="Fact_27d2de1061e242efbb1855d2d0e23a26"
      unitRef="U007">-0.003</tact:EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent>
    <tact:EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent
      contextRef="c20200101to20201231"
      decimals="3"
      id="Fact_2faac2b8b3864664ad0c88e2521463dd"
      unitRef="U007">0</tact:EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="c20210101to20211231"
      decimals="3"
      id="Fact_11fcdd9a2103421189354894b8a6b985"
      unitRef="U007">0.004</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="c20200101to20201231"
      decimals="3"
      id="Fact_4fdd3d2901a04ddcb27500a4f7f96654"
      unitRef="U007">0.002</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="c20210101to20211231"
      decimals="3"
      id="Fact_29d5ab4035ec4909a179751cd516b2f1"
      unitRef="U007">-0.006</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="c20200101to20201231"
      decimals="3"
      id="Fact_451e841a78be4a94ac7eb7c25f11bf52"
      unitRef="U007">-0.005</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="c20210101to20211231"
      decimals="3"
      id="Fact_7a43d578393f435e867330f188869430"
      unitRef="U007">-0.012</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="c20200101to20201231"
      decimals="3"
      id="Fact_876e978cc2c34470b2697d41ee6b4893"
      unitRef="U007">-0.026</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="c20210101to20211231"
      decimals="3"
      id="Fact_2e4b4328e37d4373b2ec9196599be0df"
      unitRef="U007">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="c20200101to20201231"
      decimals="3"
      id="Fact_466341e60db24871b4758d2704b19a28"
      unitRef="U007">-0.003</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="c20210101to20211231"
      decimals="3"
      id="Fact_fabf5bb12ee245b2adfdb62b7c1600de"
      unitRef="U007">0.333</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="c20200101to20201231"
      decimals="3"
      id="Fact_cbb530500d6e483eb38e0b1f4c401197"
      unitRef="U007">0.311</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock
      contextRef="c20210101to20211231"
      id="Text_716c1805467e49bea464193a16518b0f">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We had $144 thousand and $121 thousand of total gross unrecognized tax benefits at December 31, 2021
    and 2020, respectively that, if recognized, would favorably affect the effective income tax rate in any future periods.&#160; We are not aware of
    any events that could occur within the next twelve months that could cause a significant change in the total amount of unrecognized tax benefits.&#160; A tabular reconciliation of the gross amounts of unrecognized tax benefits at the beginning and end of
    the year is as follows:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;121&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;107&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Tax positions taken during the current period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;47&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;41&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Lapse of statute of limitations&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(24&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(27&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;144&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;121&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="c20211231"
      decimals="-3"
      id="Fact_0f7e36bc85a54ec69f3d1e18b87d2dc4"
      unitRef="U001">144000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="c20201231"
      decimals="-3"
      id="Fact_56c5ed7316f34096b1e4c95909467f51"
      unitRef="U001">121000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="c20201231"
      decimals="-3"
      id="Fact_8f2b1b5c1eb94a1b97401ff3a48187d5"
      unitRef="U001">121000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="c20191231"
      decimals="-3"
      id="Fact_604526f3b95f43f2b4e9be9940533b33"
      unitRef="U001">107000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_05627d71a55c4e0f8c31182fca9ac23f"
      unitRef="U001">47000</us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease>
    <us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_fda2dcbab2794f7a89da9b85ef286af4"
      unitRef="U001">41000</us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_f525411033a440ceb278f80895b16c7f"
      unitRef="U001">24000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_acff6ec42fc24dc88ec2ecd84b5a3463"
      unitRef="U001">27000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="c20211231"
      decimals="-3"
      id="Fact_b127f9cda46d4561828782178ea3a790"
      unitRef="U001">144000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="c20201231"
      decimals="-3"
      id="Fact_4537ed9a74904e2eb9cefa2ad6534a20"
      unitRef="U001">121000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible
      contextRef="c20211231"
      decimals="-3"
      id="Fact_74feac78af694c46a668bf67bc3fc4c2"
      unitRef="U001">28000</us-gaap:DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="c20211231"
      decimals="-3"
      id="Fact_28cba6a8d6d54b0db41493ec36ff8231"
      unitRef="U001">144000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued
      contextRef="c20211231"
      decimals="-3"
      id="Fact_abbd5a6b117b442daeef52f308bf7e23"
      unitRef="U001">20000</us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued>
    <us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued
      contextRef="c20201231"
      decimals="-3"
      id="Fact_d4deaf4cef524ef4a3a500b87470bad7"
      unitRef="U001">19000</us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="c20210101to20211231"
      id="Text_e8296c5992864d07bfb0bb75feff0aeb">
&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;12. Earnings per share&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Earnings per share was computed as follows (in thousands, except per share amounts):&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net loss&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(4,145&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(5,630&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Shares:&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic:&#160; Weighted average common shares outstanding&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,298&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,827&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Add:&#160; Dilutive effect of outstanding equity awards as determined by the treasury stock
              method&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Diluted:&#160; Weighted average common and common equivalent shares outstanding&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,298&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,827&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net loss per common share:&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.45&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.72&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Diluted&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.45&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.72&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The computation of diluted earnings per share excludes the effect of the potential exercise of stock awards, including stock options,
    restricted stock units and performance stock awards, when the average market price of the common stock is lower than the exercise price of the related stock award during the period.&#160; These outstanding stock awards are not included in the computation of
    diluted earnings per share because the effect would be anti-dilutive.&#160; Furthermore, in periods when a net loss is reported, such as 2021 and 2020, basic and diluted net loss per common share are calculated using the same method.&#160; Anti-dilutive stock
    awards excluded from the computation of earnings per dilutive share were 391,000 and 1,284,000 at December 31, 2021 and 2020, respectively.&lt;/div&gt;
</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="c20210101to20211231"
      id="Text_9c1248e04f7c415cad93855f7da486ad">
&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Earnings per share was computed as follows (in thousands, except per share amounts):&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net loss&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(4,145&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(5,630&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Shares:&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic:&#160; Weighted average common shares outstanding&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,298&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,827&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Add:&#160; Dilutive effect of outstanding equity awards as determined by the treasury stock
              method&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Diluted:&#160; Weighted average common and common equivalent shares outstanding&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,298&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,827&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net loss per common share:&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.45&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.72&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Diluted&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.45&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.72&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_b1cfb37121fd40bdaf3e26a10ce21675"
      unitRef="U001">-4145000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_81cf0afa10a946aca6e44d7a84cd9c11"
      unitRef="U001">-5630000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_154aa0b8975248c290ef4c3d1a75e0c7"
      unitRef="U002">9298000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_367018237bb14b93b3e3f1febb01d66f"
      unitRef="U002">7827000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_0c315bd2a5554a959f4902d78a33558f"
      unitRef="U002">0</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_dda2d87fa2414f6dabb2ac336ec1bbdf"
      unitRef="U002">0</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_787dd2d6df0c4c4bbfd01980f5641676"
      unitRef="U002">9298000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_a9e7575f75ca45379d06482ce02c62b5"
      unitRef="U002">7827000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20210101to20211231"
      decimals="2"
      id="Fact_53940854cf194701bafd82f668ab692b"
      unitRef="U003">-0.45</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20200101to20201231"
      decimals="2"
      id="Fact_10aaee96312c4982904e39e8d613482b"
      unitRef="U003">-0.72</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20210101to20211231"
      decimals="2"
      id="Fact_d9dfd61fa13b4eb4b5517fb65b141792"
      unitRef="U003">-0.45</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20200101to20201231"
      decimals="2"
      id="Fact_882e8c06cbdf45cda4ede34d1c4af1c1"
      unitRef="U003">-0.72</us-gaap:EarningsPerShareDiluted>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c20210101to20211231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember"
      decimals="0"
      id="Fact_eb6c651e329b4cf4b8b3e9af24fcc077"
      unitRef="U002">391000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c20200101to20201231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember"
      decimals="0"
      id="Fact_d826c64daa344577a612a87653d78111"
      unitRef="U002">1284000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:TreasuryStockTextBlock
      contextRef="c20210101to20211231"
      id="Text_afa424e1d2f745359b3dc0cccf9a8c42">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;13. Stock repurchase program&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We use the cost method to account for treasury stock purchases, under which the price paid for the stock is charged to the treasury
    stock account.&#160; Repurchases of our common stock are accounted for as of the settlement date.&#160; During 2021 and 2020, we did not repurchase any shares of
    our common stock.&#160; From January 1, 2005 through December 31, 2019, we repurchased a total of 4,044,842 shares of common stock for $32.1 million, at an average price of $7.94 per
    share.&lt;/div&gt;
</us-gaap:TreasuryStockTextBlock>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c20210101to20211231"
      decimals="INF"
      id="Fact_12b02c1a237046b2932fd4f87c05738d"
      unitRef="U002">0</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c20200101to20201231"
      decimals="INF"
      id="Fact_ed7a3c87de004551be8ac3e9c91f44db"
      unitRef="U002">0</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="c20050101to20211231"
      decimals="0"
      id="Fact_e349c2bf019a458daa7e361cab3f0ac4"
      unitRef="U002">4044842</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c20050101to20211231"
      decimals="-5"
      id="Fact_9c01741e0f5449f89cb7a9ae545dda2f"
      unitRef="U001">32100000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c20050101to20211231"
      decimals="2"
      id="Fact_03bc2553e1e8434389436978b6ba5d90"
      unitRef="U003">7.94</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="c20210101to20211231"
      id="Text_939bef70c0d64540892a844d8725a94a">
&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;14. Geographic area information&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Information regarding our operations by geographic area is contained in the following table.&#160; These amounts in the geographic area table are
    based on the location of the customer and asset.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net sales:&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;32,400&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;24,733&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,986&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,862&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;39,386&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;30,595&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Fixed assets, net:&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,770&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,079&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;914&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;871&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,684&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,950&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Sales to international customers were 18%
    and 19% of total sales in 2021 and
    2020, respectively.&#160; Sales to Europe represented 53%
    and 45%, sales to the Pacific Rim (which includes Australia and Asia) represented 35% and 45%, and sales to Canada represented 11% and 8%&#160; of total international sales in 2021 and 2020, respectively.&#160; International
    long-lived assets consist of net fixed assets located at our foreign subsidiary in the UK as well as our contract manufacturers in China, Thailand, Malaysia and Mexico.&lt;/div&gt;
</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock
      contextRef="c20210101to20211231"
      id="Text_13905b88d7334f81897864d4c40bab37">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Information regarding our operations by geographic area is contained in the following table.&#160; These amounts in the geographic area table are
    based on the location of the customer and asset.&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net sales:&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;32,400&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;24,733&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,986&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,862&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;39,386&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;30,595&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Fixed assets, net:&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,770&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,079&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;914&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;871&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,684&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,950&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_7553ae93ee5d47f48aaf4a099542106d"
      unitRef="U001">32400000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_c9383106ff0d43dfa5bc7aa8e24892d6"
      unitRef="U001">24733000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_57da01f0d9e8421ba044190bdc775c03"
      unitRef="U001">6986000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_b0e1f385ea8a4a9f8a2e310202226624"
      unitRef="U001">5862000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_ab7e66a3a62649f68acac2f44331fa9c"
      unitRef="U001">39386000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_1b0ac002758348b0b55760f7627f5d28"
      unitRef="U001">30595000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20211231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_478770630e284ed48df2c90dc3085778"
      unitRef="U001">1770000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20201231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_8bafe332c2ae430594e3343bdeeea577"
      unitRef="U001">1079000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20211231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_ed0ed41f16b442bd8876780450e0def4"
      unitRef="U001">914000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20201231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_6e6aecc46a364affbc5e2c29ee01b51d"
      unitRef="U001">871000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20211231"
      decimals="-3"
      id="Fact_77ea1ae7ca5f48978711e1054b0b87a2"
      unitRef="U001">2684000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20201231"
      decimals="-3"
      id="Fact_b9f2fded5c02401c9ad28d7bc354b070"
      unitRef="U001">1950000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember"
      decimals="2"
      id="Fact_5f9b1d9c39cf46c092774c574a06dfee"
      unitRef="U007">0.18</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember"
      decimals="2"
      id="Fact_0710ab96b76245c59e316c284b4a3d54"
      unitRef="U007">0.19</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember"
      decimals="2"
      id="Fact_7dd6f51cd832440d82db61314a680a58"
      unitRef="U007">0.53</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember"
      decimals="2"
      id="Fact_7901c79b8c98406c9ee9aedec2729c80"
      unitRef="U007">0.45</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember"
      decimals="2"
      id="Fact_e3834217e41f4765a919291972bfee85"
      unitRef="U007">0.35</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember"
      decimals="2"
      id="Fact_fa35db1c777e46d2a2ec6437833784de"
      unitRef="U007">0.45</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA"
      decimals="2"
      id="Fact_945b2a15fee54ed482983d80b75c92bb"
      unitRef="U007">0.11</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="c20200101to20201231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA"
      decimals="2"
      id="Fact_0119130565e64697a56b8adf55007343"
      unitRef="U007">0.08</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="c20210101to20211231"
      id="Text_5a7dc2c2b1cb4061a483a480c2de1e99">
&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;15. Leases&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Operating lease expense was $&lt;/span&gt;1.0&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; million for both years ended December 31, &lt;/span&gt;2021&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; and &lt;/span&gt;2020&lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt; and is reported as &lt;/span&gt;&#x201c;Cost of sales,&#x201d; &#x201c;Engineering, design and product development expense,&#x201d; &#x201c;Selling and
    marketing expense,&#x201d; and &#x201c;General and administrative expense&#x201d; in the Consolidated Statements of Operations.&#160; &lt;span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Operating costs include short-term lease costs, which were
      immaterial during the period.&lt;/span&gt;&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following information represents supplemental disclosure for the statement of cash flows related to operating leases (in thousands):&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Operating cash outflows from leases&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;982&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,040&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following summarizes additional information related to our leases as of December 31, 2021:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Weighted average remaining lease term (in years)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3.5&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4.9&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Weighted average discount rate&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4.4&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4.1&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div style="text-align: left; line-height: 13.7pt; font-family: 'Times New Roman', Times, serif; font-size: 12pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The maturity of the Company&#x2019;s operating lease liabilities as of December 31, 2021 are as follows (in thousands):&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px; width: 78%;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31, 2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 78%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2022&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;886&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 78%;" valign="bottom"&gt;
          &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2023&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;721&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 78%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2024&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;721&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 78%;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2025&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;426&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 78%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2026&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;23&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 78%;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total undiscounted lease payments&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,777&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 78%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less imputed interest&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;207&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 78%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total lease liabilities&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,570&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:OperatingLeaseExpense
      contextRef="c20200101to20201231"
      decimals="-5"
      id="Fact_b48dcdc0c53045f3b0c0d1ce099f7a26"
      unitRef="U001">1000000.0</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="c20210101to20211231"
      decimals="-5"
      id="Fact_a3b5f98bc29246139a3f0a4cd78e2cbf"
      unitRef="U001">1000000.0</us-gaap:OperatingLeaseExpense>
    <tact:LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock
      contextRef="c20210101to20211231"
      id="Text_4eab533f0844421ebd1a6dd3b33f2c58">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following information represents supplemental disclosure for the statement of cash flows related to operating leases (in thousands):&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Operating cash outflows from leases&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;982&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,040&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</tact:LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="c20210101to20211231"
      decimals="-3"
      id="Fact_e752242cfff949568cc4847f13d1339c"
      unitRef="U001">982000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="c20200101to20201231"
      decimals="-3"
      id="Fact_3c1e12d3b44f468cbd677fd06466d5f0"
      unitRef="U001">1040000</us-gaap:OperatingLeasePayments>
    <tact:LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock
      contextRef="c20210101to20211231"
      id="Text_5468d94eba274b49957e07039b061b03">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following summarizes additional information related to our leases as of December 31, 2021:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Weighted average remaining lease term (in years)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3.5&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4.9&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Weighted average discount rate&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4.4&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4.1&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</tact:LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="c20211231"
      id="Fact_bd30c1b5c1e942d0a0bd5b4e9e78da1e">P3Y6M</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="c20201231"
      id="Fact_33cce4dab8e74b4fbd33692ecf464a88">P4Y10M24D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="c20211231"
      decimals="3"
      id="Fact_ee9ce2bc31de4bfc84b8ee05655a8e37"
      unitRef="U007">0.044</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="c20201231"
      decimals="3"
      id="Fact_f136d887d1ed46a7805c34960aa3d55d"
      unitRef="U007">0.041</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="c20210101to20211231"
      id="Text_5506cde2ef1549d78d0c07d838263a31">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The maturity of the Company&#x2019;s operating lease liabilities as of December 31, 2021 are as follows (in thousands):&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px; width: 78%;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31, 2021&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 78%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2022&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;886&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 78%;" valign="bottom"&gt;
          &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2023&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;721&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 78%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2024&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;721&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 78%;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2025&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;426&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 78%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2026&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;23&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 78%;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total undiscounted lease payments&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,777&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 78%; padding-bottom: 2px; background-color: rgb(204, 238, 255);" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less imputed interest&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;207&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 78%; padding-bottom: 4px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total lease liabilities&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 19%; border-bottom: 4px double rgb(0, 0, 0);" valign="bottom"&gt;
          &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,570&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="c20211231"
      decimals="-3"
      id="Fact_495f3682c8974f86a6f3171c369c552e"
      unitRef="U001">886000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="c20211231"
      decimals="-3"
      id="Fact_282b95cbac84471aa9e3396cc887d136"
      unitRef="U001">721000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="c20211231"
      decimals="-3"
      id="Fact_04b45ea3f97c4124b4accfa66bda1114"
      unitRef="U001">721000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="c20211231"
      decimals="-3"
      id="Fact_f216597341d94a9b816fc02d601d6476"
      unitRef="U001">426000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="c20211231"
      decimals="-3"
      id="Fact_93b1550216eb46a48f63ce05d316910d"
      unitRef="U001">23000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="c20211231"
      decimals="-3"
      id="Fact_4c600375184f4181b48f70881f7c7f7d"
      unitRef="U001">2777000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="c20211231"
      decimals="-3"
      id="Fact_037059865d4f410c8a2ec51451d8fe24"
      unitRef="U001">207000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="c20211231"
      decimals="-3"
      id="Fact_6e7229ebd5a44d0f8813425376c2435d"
      unitRef="U001">2570000</us-gaap:OperatingLeaseLiability>
    <us-gaap:QuarterlyFinancialInformationTextBlock
      contextRef="c20210101to20211231"
      id="Text_6292a32cc3244910975e2450fe89530b">
&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;16. Quarterly results of operations (unaudited)&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Our quarterly results of operations for 2021 and 2020 are as follows:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Quarter Ended&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands, except per share amounts)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;March 31&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;June 30&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;September 30&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
          &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021:&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net sales&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,301&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,325&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,637&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,123&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross profit&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,189&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,325&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,317&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,418&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net (loss) income&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2,206&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2,114&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;910&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(735&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net (loss) income per common share:&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.25&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.24&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.10&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.07&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Diluted&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.25&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.24&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.09&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.07&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020:&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net sales&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,247&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,285&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,300&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,763&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross profit&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,918&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,290&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,349&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,372&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net loss&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(992&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,853&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(867&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,918&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net loss per common share:&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.13&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.25&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.11&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.22&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Diluted&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.13&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.25&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.11&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.22&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:QuarterlyFinancialInformationTextBlock>
    <us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock
      contextRef="c20210101to20211231"
      id="Text_7a80c7e43ae9497f93a6904b54f21396">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Our quarterly results of operations for 2021 and 2020 are as follows:&lt;/div&gt;

&lt;div style="line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="14" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Quarter Ended&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;
          &lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands, except per share amounts)&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;March 31&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;June 30&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;September 30&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
          &lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;
          &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021:&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net sales&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,301&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,325&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,637&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,123&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross profit&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,189&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,325&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,317&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,418&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net (loss) income&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2,206&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(2,114&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;910&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(735&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net (loss) income per common share:&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.25&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.24&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.10&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.07&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Diluted&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.25&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.24&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.09&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.07&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020:&lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net sales&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,247&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,285&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,300&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,763&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross profit&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,918&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,290&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,349&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,372&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net loss&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(992&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,853&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(867&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,918&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net loss per common share:&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.13&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.25&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.11&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.22&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 52%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Diluted&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.13&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.25&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.11&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.22&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
          &lt;div style="line-height: 14.4pt;"&gt;
            &lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210101to20210331"
      decimals="-3"
      id="Fact_3a2a55d1be604cd2b557f24e8de0bacb"
      unitRef="U001">8301000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_61066b145f2a4c4c90b284692c896985"
      unitRef="U001">9325000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20210701to20210930"
      decimals="-3"
      id="Fact_ba171dae74f04c89bd429ce8388183d9"
      unitRef="U001">10637000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20211001to20211231"
      decimals="-3"
      id="Fact_67eac3a067fe47419fc70f0ad6454469"
      unitRef="U001">11123000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="c20210101to20210331"
      decimals="-3"
      id="Fact_3d91ebff951a46fa80746d7eff4ae6c7"
      unitRef="U001">3189000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_453c04824a664848a53dc70162715899"
      unitRef="U001">3325000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20210701to20210930"
      decimals="-3"
      id="Fact_2dd9061995924adab02542307d072e6f"
      unitRef="U001">4317000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20211001to20211231"
      decimals="-3"
      id="Fact_81bfda6315004099b346b13b754d5a07"
      unitRef="U001">4418000</us-gaap:GrossProfit>
    <us-gaap:NetIncomeLoss
      contextRef="c20210101to20210331"
      decimals="-3"
      id="Fact_f0ee19342c5e42c09908db496bb4a012"
      unitRef="U001">-2206000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20210401to20210630"
      decimals="-3"
      id="Fact_21debfac4aa14fc4ae14dd21953e4d9c"
      unitRef="U001">-2114000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20210701to20210930"
      decimals="-3"
      id="Fact_d5fd5f5cf3414d319d27200be822e83e"
      unitRef="U001">910000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20211001to20211231"
      decimals="-3"
      id="Fact_e6f3f5165722416aa8aa43ceb9c03920"
      unitRef="U001">-735000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20210101to20210331"
      decimals="2"
      id="Fact_af165796a7184487a719eb1ae319264c"
      unitRef="U003">-0.25</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20210401to20210630"
      decimals="2"
      id="Fact_e532b65444cb42c29a0c9f82f2131307"
      unitRef="U003">-0.24</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20210701to20210930"
      decimals="2"
      id="Fact_b2a0da3caae4448f9d8c5f3ea57020bd"
      unitRef="U003">0.10</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20211001to20211231"
      decimals="2"
      id="Fact_80d298e334f140fd8b3ffc775571e320"
      unitRef="U003">-0.07</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20210101to20210331"
      decimals="2"
      id="Fact_bc22cf1c53c646f7a466519c84f6c3df"
      unitRef="U003">-0.25</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20210401to20210630"
      decimals="2"
      id="Fact_860164d1e9c64f08a4f0ba79b88e563e"
      unitRef="U003">-0.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20210701to20210930"
      decimals="2"
      id="Fact_c28cabee9f0542c08cc7a52be18d6ab6"
      unitRef="U003">0.09</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20211001to20211231"
      decimals="2"
      id="Fact_dc9b1fca9b004f72983c7fc5d793f6f1"
      unitRef="U003">-0.07</us-gaap:EarningsPerShareDiluted>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200101to20200331"
      decimals="-3"
      id="Fact_be186741ef8545568091deb021175cc9"
      unitRef="U001">10247000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_556a494fc76249e0b2ff8d63b0bd8ed6"
      unitRef="U001">5285000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20200701to20200930"
      decimals="-3"
      id="Fact_1a3e2dba0d3648bfb62299835b8b03a5"
      unitRef="U001">7300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20201001to20201231"
      decimals="-3"
      id="Fact_cef910c96f5f41d0b216ab722b41cc9a"
      unitRef="U001">7763000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="c20200101to20200331"
      decimals="-3"
      id="Fact_8f4f79b2167449a8bdc7b85fe18fc50b"
      unitRef="U001">4918000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_2fedad8be8f04200b5c5c4c3c1a1710c"
      unitRef="U001">2290000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20200701to20200930"
      decimals="-3"
      id="Fact_82ce42c2585947f5b78f1fe083852d25"
      unitRef="U001">3349000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20201001to20201231"
      decimals="-3"
      id="Fact_cbf92fd4bf2944bc8332d0e131ad81e5"
      unitRef="U001">2372000</us-gaap:GrossProfit>
    <us-gaap:NetIncomeLoss
      contextRef="c20200101to20200331"
      decimals="-3"
      id="Fact_b02f37519f00481197b15c98fd87b131"
      unitRef="U001">-992000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20200401to20200630"
      decimals="-3"
      id="Fact_2b4414c18add4c8bb6fad3c84ee973ca"
      unitRef="U001">-1853000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20200701to20200930"
      decimals="-3"
      id="Fact_02cdcd398c2449c783f06fb5b34c7874"
      unitRef="U001">-867000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20201001to20201231"
      decimals="-3"
      id="Fact_b48057d4db5e45628f8de68327e2615d"
      unitRef="U001">-1918000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20200101to20200331"
      decimals="2"
      id="Fact_14c341d92ffb4cf0b415fa914580b2e4"
      unitRef="U003">-0.13</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20200401to20200630"
      decimals="2"
      id="Fact_35fe8fd5ebd64c84a61ba723bb1d2579"
      unitRef="U003">-0.25</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20200701to20200930"
      decimals="2"
      id="Fact_48ab818d6c4a4fd4b88b5bb4a14afb92"
      unitRef="U003">-0.11</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20201001to20201231"
      decimals="2"
      id="Fact_f2e7a3823d9647eb91463d559c740849"
      unitRef="U003">-0.22</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20200101to20200331"
      decimals="2"
      id="Fact_019fba4b865b4d4aaed8ab4e8b278b81"
      unitRef="U003">-0.13</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20200401to20200630"
      decimals="2"
      id="Fact_da4eb8cbfddc42a6b36b0235e8bebde4"
      unitRef="U003">-0.25</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20200701to20200930"
      decimals="2"
      id="Fact_9bbdc6a12d044abd9e03052444fbc526"
      unitRef="U003">-0.11</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20201001to20201231"
      decimals="2"
      id="Fact_78ed1abb602a4daabce8b93197930576"
      unitRef="U003">-0.22</us-gaap:EarningsPerShareDiluted>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="c20210101to20211231"
      id="Text_7a0238212f9f45698df40ad2fc23f0c5">
&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;17. Subsequent events&lt;/div&gt;

&lt;div style="text-align: justify; line-height: 10.25pt;"&gt;&lt;br/&gt;
  &lt;/div&gt;

&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The Company has evaluated all events or transactions that occurred up to the date the consolidated financial statements were available to
    issue.&#160; Based upon this review, the Company did not identify any subsequent events that would have required adjustment or disclosure in the consolidated financial statements.&lt;/div&gt;
</us-gaap:SubsequentEventsTextBlock>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#Fact_2200dbb582a34135a33a33e7991a39fc"
          xlink:label="Fact_2200dbb582a34135a33a33e7991a39fc"
          xlink:type="locator"/>
        <link:footnote id="Foot_d955d8fd57964b2cbb978471388690e9" xlink:label="Foot_d955d8fd57964b2cbb978471388690e9" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">weighted-average contractual remaining term in years</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_2200dbb582a34135a33a33e7991a39fc"
          xlink:to="Foot_d955d8fd57964b2cbb978471388690e9"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_01fe42f5d6f34989a866fbd5509a91ea"
          xlink:label="Fact_01fe42f5d6f34989a866fbd5509a91ea"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_01fe42f5d6f34989a866fbd5509a91ea"
          xlink:to="Foot_d955d8fd57964b2cbb978471388690e9"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_40d1567dd34c48a8b2ddc99b368df7e7"
          xlink:label="Fact_40d1567dd34c48a8b2ddc99b368df7e7"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_40d1567dd34c48a8b2ddc99b368df7e7"
          xlink:to="Foot_d955d8fd57964b2cbb978471388690e9"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_4d318218b4c8419da5729ae5d3a44d0d"
          xlink:label="Fact_4d318218b4c8419da5729ae5d3a44d0d"
          xlink:type="locator"/>
        <link:footnote id="Foot_02c9893d755d46e09c2c806bd0739d14" xlink:label="Foot_02c9893d755d46e09c2c806bd0739d14" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">weighted average exercise price per share</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_4d318218b4c8419da5729ae5d3a44d0d"
          xlink:to="Foot_02c9893d755d46e09c2c806bd0739d14"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_7fa9fff2f815438785e751a7709e7b83"
          xlink:label="Fact_7fa9fff2f815438785e751a7709e7b83"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_7fa9fff2f815438785e751a7709e7b83"
          xlink:to="Foot_02c9893d755d46e09c2c806bd0739d14"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_341af3cccf6b4c90b6dacfd466c2a72a"
          xlink:label="Fact_341af3cccf6b4c90b6dacfd466c2a72a"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_341af3cccf6b4c90b6dacfd466c2a72a"
          xlink:to="Foot_02c9893d755d46e09c2c806bd0739d14"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_11f7c7940cb447f4be4b89111a161e61"
          xlink:label="Fact_11f7c7940cb447f4be4b89111a161e61"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_11f7c7940cb447f4be4b89111a161e61"
          xlink:to="Foot_02c9893d755d46e09c2c806bd0739d14"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_86c7680febb546969024d9eb2d4b8462"
          xlink:label="Fact_86c7680febb546969024d9eb2d4b8462"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_86c7680febb546969024d9eb2d4b8462"
          xlink:to="Foot_02c9893d755d46e09c2c806bd0739d14"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_49be8004ba664c0eaf328ac4dc33e44c"
          xlink:label="Fact_49be8004ba664c0eaf328ac4dc33e44c"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_49be8004ba664c0eaf328ac4dc33e44c"
          xlink:to="Foot_02c9893d755d46e09c2c806bd0739d14"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_46445371553641de90936e45fc92e64c"
          xlink:label="Fact_46445371553641de90936e45fc92e64c"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_46445371553641de90936e45fc92e64c"
          xlink:to="Foot_02c9893d755d46e09c2c806bd0739d14"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_eda0294a1e184539a4e55e0cc64a32e4"
          xlink:label="Fact_eda0294a1e184539a4e55e0cc64a32e4"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_eda0294a1e184539a4e55e0cc64a32e4"
          xlink:to="Foot_02c9893d755d46e09c2c806bd0739d14"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_58c63cc0cfda4df393fec3b461f57817"
          xlink:label="Fact_58c63cc0cfda4df393fec3b461f57817"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_58c63cc0cfda4df393fec3b461f57817"
          xlink:to="Foot_02c9893d755d46e09c2c806bd0739d14"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_f42cd3a3f3ca4efcab1a34623971b4b0"
          xlink:label="Fact_f42cd3a3f3ca4efcab1a34623971b4b0"
          xlink:type="locator"/>
        <link:footnote id="Foot_42b55853fb414ccdba8ab0b20970caa0" xlink:label="Foot_42b55853fb414ccdba8ab0b20970caa0" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">weighted average grant stock price per share</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_f42cd3a3f3ca4efcab1a34623971b4b0"
          xlink:to="Foot_42b55853fb414ccdba8ab0b20970caa0"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_4532d7bb5d5e49a59bc227be7b49e3c3"
          xlink:label="Fact_4532d7bb5d5e49a59bc227be7b49e3c3"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_4532d7bb5d5e49a59bc227be7b49e3c3"
          xlink:to="Foot_42b55853fb414ccdba8ab0b20970caa0"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_fbd2499553ba4833a79eeb4cc73d1d0d"
          xlink:label="Fact_fbd2499553ba4833a79eeb4cc73d1d0d"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_fbd2499553ba4833a79eeb4cc73d1d0d"
          xlink:to="Foot_42b55853fb414ccdba8ab0b20970caa0"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_3c1bc3bf75ae42809b901affb2e39d83"
          xlink:label="Fact_3c1bc3bf75ae42809b901affb2e39d83"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_3c1bc3bf75ae42809b901affb2e39d83"
          xlink:to="Foot_42b55853fb414ccdba8ab0b20970caa0"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_a9c83316b680472f8697b2f43948f41d"
          xlink:label="Fact_a9c83316b680472f8697b2f43948f41d"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_a9c83316b680472f8697b2f43948f41d"
          xlink:to="Foot_42b55853fb414ccdba8ab0b20970caa0"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact_3f635a049bd440c699554704b596c0f4"
          xlink:label="Fact_3f635a049bd440c699554704b596c0f4"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact_3f635a049bd440c699554704b596c0f4"
          xlink:to="Foot_42b55853fb414ccdba8ab0b20970caa0"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>85
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( %QW>%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    " !<=WA4K:R3W>\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9)1
M2\,P$,>_BN2]O3:=,D*7%\4G!<&!XEM(;EM8DX;DI-VWMXU;A^@'\#%W__SN
M=W"M#D+W$5]B'S"2Q70SNLXGH<.&'8B" $CZ@$ZE<DKXJ;GKHU,T/>,>@M)'
MM4?@574'#DD910IF8!$6(I.MT4)'5-3',][H!1\^8Y=A1@-VZ-!3@KJL@<EY
M8CB-70M7P PCC"Y]%] LQ%S]$YL[P,[),=DE-0Q#.30Y-^U0P_OSTVM>M[ ^
MD?(:IU_)"CH%W+#+Y+?F_F'[R"2O."^JIN"K;;T6MVNQXA^SZP^_J[#KC=W9
M?VQ\$90M_+H+^0502P,$%     @ 7'=X5)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
M" !<=WA445-^E#<&  "5&@  &    'AL+W=O<FMS:&5E=',O<VAE970Q+GAM
M;*59WW/:.!!^[OT5&J8/[4P(M@R$=)+,$!,:KBGA FVG=W,/PA;@B6UQL@S)
M?W\KV]@T(]:^N3P$_]K/GW97WZ[DJ[V0S\F&<T5>HC!.KEL;I;:?.IW$V_"(
M)>=BRV.XLQ(R8@I.Y;J3;"5G?F84A1UJ6?U.Q(*X=7.579O)FRN1JC"(^4R2
M)(TB)E]O>2CVURV[=;CP%*PW2E_HW%QMV9K/N?JVG4DXZY0H?A#Q. E$3"1?
M7;>&]J=1U](&V1/? [Y/CHZ)'LI2B&=],O&O6Y9FQ$/N*0W!X&?'71Z&&@EX
M_%. MLIW:L/CXP/Z.!L\#&;)$NZ*\$?@J\UU:] B/E^Q-%1/8G_/BP'U-)XG
MPB3[3_;YL]UNBWAIHD14& .#*(CS7_92..+8P#IA0 L#^L; /O4&IS!PFAIT
M"X-NYIE\*)D?1DRQFRLI]D3JIP%-'V3.S*QA^$&LXSY7$NX&8*=N1L)+(8R*
ML-@G=[$*U"N9Q'D^Z;BTR;?YB'QX__&JH^!UVJCC%="W.30] 6U3\E7$:I,
MKL_]7P$ZP+,D2P]D;RF*..+>.7'L,T(M:AL(N;CYF"_/"1UDYM1@/L+-?T]C
M>+ME>OLOHW%*USL9GG,"SQ4[+LE?PV6B)*3_WPADMX3L9I#=NF@N7K?<%#'<
MW+;:7Q 6O9)%#X49 @4_HS$.V=I$ [=?L3#A"(]^R:/?S!O#.$Y92)[X5DAE
MXH/C*)EB="Y*.A?-Z,RX#(2>;3Z!.6N,4PU2,0]^>_>N)A<');<!BNBF4F8!
M"Q(///63,XGRP]':;9NV'8S79<GKLIG/CHF-X6)B8H5CU;C*MBK)M/X3J2*>
M)VG5P(U_8JR.A-QN./<E@[*<J??IC*\!JYN"-JUH412IJ"GC(.1DFD9++HUT
M<!"K36T;CUZENK;3A- 37P=:>,%A4Q89D[P&:/$TG,Z'[H(L[MS[Z>/#X^?)
MW9Q,IBY&LU)R&]?B@J8+$9608Q,HH2_D"W\U$L6A+,NR+?O"L1R,6:7N-B[/
M99?@"0GIE?4)9V2N0"J(D,05*5 &YL(W>Q5'']UA)"OIMW'-+D@NV N9^.##
M8!5X>4>#)"$.:?7;=K?7[P\LC&%5#6Q<Q N&0]^7/$G.#@?D 9XCC['9=S@D
M6)%[%L%XL[QY.\I?B5:EP<;5'"6ZV LC41R2.O8E^;$)5,P!>,?CE$,&I0%D
MD'.+D:[JAHV+_5O2KCZ#[%R(?6PDC,/E7L5:V*IZ4%SNWS(K)\Y,BET0>\;
MUV"Z"XQ:54(HKOIOJ<U$HD![_@RV)V=S#:+5[]D#C%M51RA> K( #F%I>YH*
M#D!1^:-5_:"X[#^(K.9O1(P5M!J00>^R#4*"*0FM2@7%]7T1*"BN8D5L^F'Y
MD<RYETKPEI$6CN2** *)A%6G]WQ&MM!K[5B8<O+>.K=LLH7E2K)A$FL,:%5&
M*"[TT*;X0;PF\]=H*4(CV1J (9[V5:V@N+ ?'$;N7KP-B]?\9$=0 S0=SD?#
M/S!.576@C:K##QZ&[><81 O"RA+(.9],DB0]D70XYE1@U*IZ0!O5@^\BA$+/
M9-[;26/G6X.$$ZJTGC;2^L,:)F]ZL]0":36WY#6(/WF",',JK7<::?U$U^)\
MATNOJ-B!JHE9#6(-LTKJG492GX6.N%"!UD(:%:,&9RKB-O,\#C  XN> &,-*
M\)U&"X=YQ,*0W*8)W$Z,L:S!J5F].T?;-8T6#G<1EVN=79\!06V@'$5;%IM]
MAP/6+;*<J@(XN&Y/W/$3&:9^H*"/&"K%H6YGS>ZI#9@:O%IFE<H[C18+\PT(
M&>JJ_[<EY%1B[S1:&,S291AXX!_!3--P5*#T,A2]>;Z[L>W+KJ7_KCH[$X5*
MVYU&VEX4VWE>;.>ZL";D,540NUA71M,&9X'</Z)U.1A<7G1[)TA5JN[@6GS(
MGG$@(S(9&6.$(_0'6*?G5'+NX.)[8'*J"->8?V722R/R\###-E0K">_B@GM@
MH]L^/:6,NZHXQ#V3:B6D#ZL0$<?Z@X>7*A.YSM$^OE:9['M(0CR]HLZW],NK
MY3>78?:EH5,]GG^P 2^ 2"4DY"LPM<XO()-E_@TD/U%BFWT56 JE1)0=;CCS
MN=0/P/V5$.IPHE]0?HFZ^1=02P,$%     @ 7'=X5&6^!2,,!P  Y!X  !@
M  !X;"]W;W)K<VAE971S+W-H965T,BYX;6RMF5UOVS84AO\*8138!MBQ2.HS
M30RD2;8&2-N@3K>+81>*1,=")=$E:2?9KQ\I.9(M?MC!>M%&ME]2+RGR/.=0
M9T^4?>=+0@1XKLJ:GX^60JQ.IU.>+4F5\A.Z(K7\94%9E0KYD3U.^8J1-&\:
M5>44>5XXK=*B'LW.FN_NV.R,KD59U.2. ;ZNJI2]?" E?3H?P='K%U^+QZ50
M7TQG9ZOTD<R)^+:Z8_+3M.LE+RI2\X+6@)'%^>@"GE[ZOFK0*/XLR!/?N09J
M* ^4?E<?;O+SD:<<D9)D0G61RC\;<DG*4O4D??S8=CKJ[JD:[EZ_]OY[,W@Y
MF(>4DTM:_E7D8GD^BD<@)XMT78JO].DCV0XH4/UEM.3-_^!IJ_5&(%MS0:MM
M8^F@*NKV;_J\G8B=!M"W-$#;!NC8!GC; #<#;9TUP[I*13H[8_0),*66O:F+
M9FZ:UG(T1:T>XUPP^6LAVXG9Y9?/\R^W-U<7]]=7X,/%[<7GRVLP_WA]?3\'
M$_!M?@5^??<;> >*&MPOZ9JG=<[/ID+>6;6?9MN[?&CO@BQWN2+9"<!P#)"'
MH*'YY?'-O?WF4SG>;M"H&S1J^L.V0:\9([4 *>=$\%-'C[CK$3<]^K8>4[X$
M<FY IB[(CW6Q24MY"^-<M5T%35=JFVUF,/&#Z&RZV9T2@\K#0=*I]GSZG4_?
MZ?,BR^A:VI([,"/2XT-)QJ FPF2S[2G<,1 %"1ZXU$481Y'99-"9#)PFKZM5
M25\(D2:%G$.UVS-&\D+LN#89#C0O,/"\@6%=Y)G=AIW;T.GV,Q7D@+'0<<_6
ME:Z GL57U/F*G+YNZHV</,H*8ER$D?YT(S2TI8L@1'%H-A9WQF*GL3M&5FF1
MRY"2T8H D3Z;'<;ZS?%PD^@:Y'N6/9)T_A*GOR]B29B,O;LQPN0OT6<0QP-_
MNB;T?;,]Z/4AVW,:O*<B+8\PN.UF;W-&T \&'@TR%,,HL-C<(0MTVOR]>";Y
MUIXUR&S[V+MY&/M#B[H*)H%E@\ > Q"]9>LV)@%==%.[HDQ%'Z-O='!/&R0P
MB&U/OR<-=*.FR;0F=#%9<S)I9M?H#^OS&@3#Z&U0X1#&%HL]9*";,G]0FC\5
M96DTIA,#A2HIV#=V0+5OK <+=)/EBBR(?+2Y"CJNC:-#(H"^YE%7H01;@@_L
M<0+=/+FI15H_%G(]'MP[.C5P,HR0!E$08XO)GBW0#9<V1CIF4">'KZ'8((IL
MN0/LZ0+=>&FC8TWK(P*D$3%)./1ID/E>A"Q.>\Y -VA:IPY[.CT"+]'7H2[S
M$?(M$XEZS"#OJ"RY+-*'HBR$3"1<J3+JP8#<8.B2T%7Z8DN9D![Q?>P-\6I0
MP3"QA FT4QZXN2 -LK6,$CLC-WK4 SR.DR&[3*HPM- 5]1A ;@S<$EF\=@Y?
MC/[TZ![%R=">+HJQ;>WT!$!N G2!EA&9A:[-CUB/\;$W3$X,HL"S,!3U'$!N
M#NQG4(<>LQ[G$SU(&%1AF-@FLJ<!<M/@EM:/$T%8!7+R8*0 .EQ=&"0(1A8(
MH!X"R V!X4-^2_Z$#*5%K,VIJ?ZP[>X>$,@-B,'.>9-K PFB>!B0#2I9--D6
M;8\+=$Q=<FBQZC" \3 G,(E"2U6'>U[@8\J2'? >L(H-=0<,AN'3H HPM$PF
M[AF$W0QJS1YR:,#+7MVQM6B0(<^V4'&/(>S&T"6MJD)4ZABI/5NBM2CJ1U)G
M-K_._M2)\"E?I1DY'ZT8X81MR&@&3,=Q/Z&C_3'OG*-A9](Q7Z:,+&F9$\9_
M:0[2Q(OS@*Y'$G8CZ8Z]ABLN:/;=.'\Z;+1G[9+L.^MIA-TT4L^9UJVM,7CG
MG7A0ID8,;-)2!57DC3VO^0?2M5A25ORKZFH!KF3E6CW(F/!ZLMJL$G5&^AY
M/$Y@-(YP^R5$XR0*QPA%@*L9YJ#@7*8X[T$RCB,TCN.DT<7C1':&X^!51M>"
MRWHDE^MN[+[G6&* KTAS+%\:\Q%L.*##PWS$*+)-<8]1[,;H19X7*JC+/:_.
MGB9%#;)T5<@88#1JJ)D"Y _Q9)#Y*,"V0-IS%;NY^I6(5'Z5 Y*R6DZ\>:\;
MV!@$T;#"-\F2R%;BXQZBV U1F2*OJW69"FF3M@=FM)+!8*G>\&PD7BGG'5EE
MM6T<@JFNT@:@BR;89K]G*3Y0>C&9!*S9R^NFDRL[HUR,@3_V?'\<^VB[ 8R^
M=7Q.,()0BQ4'=?MG^#UI_6-(RPVATGB.;S@&C)-DF+689!ZRK6:_)ZW_1M(V
M$>-H\SI;336P0>:H@?T>P;X;P7.BSL_!!>CI,5<K!OS]J0F#_SC0Y/?0\W\N
M]/R=USW_&WK;'@('])R2UMETYQ6D>O_[*66/1<U!21:RC7<2R<:L?:7:?A!T
MU;R5?*!"T*JY7))4SH 2R-\7E(K7#^I%9_=B>_8?4$L#!!0    ( %QW>%0[
M8P33; ,   $.   8    >&PO=V]R:W-H965T<R]S:&5E=#,N>&ULK9=;;]HP
M%,>_BA5-6BMM39P "14@4=JIE7I!I=L>ICVXY$"L)C&U'6CWZ6<G:2!<$D#E
M 6+G7'Y_QYP3=Q:,OX@ 0**W*(Q%UPBDG)V;IA@'$!%QQF80JSL3QB,BU9!/
M33'C0/S4*0I-V[):9D1H;/0ZZ=R0]SHLD2&-8<B12**(\/<+"-FB:V#C8^*1
M3@.I)\Q>9T:F, +Y<S;D:F0647P:02PHBQ&'2=?HX_,!=K5#:O&+PD*L7",M
MY9FQ%SVX\;N&I8D@A+'4(8CZF<, PE!'4ARO>5"CR*D=5Z\_HO](Q2LQST3
M@(6_J2^#KN$9R(<)24+YR!;7D MJZGAC%HKT&RTRVZ9KH'$B)(MR9T40T3C[
M)6_Y0JPXX,8.!SMWL/=U<'(')Q6:D:6R+HDDO0YG"\2UM8JF+]*U2;V5&AKK
MQSB27-VERD_V!@_WHX?;F\O^T]4ENNC?]N\'5VAT?77U-$(G0\(AE@%(.B;A
M*?J.OB 3B4#-BHXI578=PQSGF2ZR3/:.3)<P/D,._H9LR\9;W ?[NUME=U-I
M+H3;A7 [C>?LB#?2,@(6^L#%5P2O"97OYQ5QG2*ND\9M[(@[5-L0. <?J6<W
M?D$SPM&<A F@$QHCGX4AX0+-@&<+>;IM(;,,;II!_P_G/>O,4FLV7UVN&J,2
M?*. ;QP"_RU_V(@D,F"<_E,WM(IL=BMZ%K^U0M7P+/U9HZ^W*PEH%@*:1PF@
M0B3U\,T-J'7L*HL2<*L ;AT%K"JND"3V:3RMHV[54E=9E*C=@MJMI!ZP*%(U
M.$<^9HN[^VSQ&J,2NE>@>P>@'[R_O8VEM"UKVP;?P[#$WR[XVX?S[[>]VQM(
MV&ECUW76UWV+H=UV6[;M;F?'UK+;6(?3'[#7\_"K:&W/M3VOO29ABZ'7=K#C
M-7=(6&F8N%+"DWI;$@E_S^M['3#>+'16H^$U['7@>L,R\++18;L2> 2<JE7N
MHV6M&:7H?^X@>@;^MZ+KX67;P\ZG]E.\[$GXH*9T5+G)4]34FSJKLH!E3\+'
M-:7]JP[>[#OVMJ)3;U>6L.Q2^+@VM5_AP?4MJM*D#+UL4KBZ2WU";\TS5))7
MF63DYLK[N3X<W1$^I;% (4R4CW7FJL?&L_-&-I!LEKZR/S.I#@#I9:#.:,"U
M@;H_84Q^#/0IH#CU]?X#4$L#!!0    ( %QW>%1+:44O(P4  +L3   8
M>&PO=V]R:W-H965T<R]S:&5E=#0N>&ULI9A=;^(X%(;_BH7FHB.5$CN?5!2I
MI9U=I&FI2F?W8K47@1B()HE9VY3.O]_C)"0T=JRN]H9\<,[QXV/[O(XG1\9_
MBAVE$KWG62%N!CLI]]>CD5CO:!Z+*[:G!?RS83R/)3SR[4CL.8V3TBG/1L1Q
M@E$>I\5@.BG?/?/IA!UDEA;TF2-QR/.8_[JC&3O>#/#@].(EW>ZD>C&:3O;Q
MEBZI_+%_YO T:J(D:4X+D;("<;JY&=SBZQF)E$-I\4=*C^+L'JFNK!C[J1[F
MR<W 440THVNI0L1P>:,SFF4J$G#\4P<=-&TJQ_/[4_1O9>>A,ZM8T!G+_DP3
MN;L91 .4T$U\R.0+._Y.ZP[Y*MZ:9:+\1<?:UAF@]4%(EM?.0)"G176-W^M$
MG#G@H,>!U ZDZ^#U.+BU@UMVM"(KNW4?RW@ZX>R(N+*&:.JFS$WI#;U)"S6,
M2\GAWQ3\Y'2V>%HNOL_O;U\?[M'R%2Z/#T^O2[3XAA;/#R^WKW,P0$/T8WF/
M+KY\16(7<RI06J#7'3N(N$C$)?KRX7DRD@"FPH_6-<1=!4%Z(#!!CZR0.X$>
MBH0F'P.,H$=-M\BI6W?$&O&>KJ^0BR\1<0@V ,T^[^Y8<-PFRVX9S_U?6?[K
M=B4DAXG]MZ5)KVG2*YOT>II\@A(@XHP:AZ-R]4M7M=#?IN[8C8+)Z.T\1P8K
MQQ_[C=4'+K_A\JU<,R8D8IM^MLH].&N5>-@-.VRZ%0Z#(#"S!0U;8&7[C3,A
MT)ZS32I-:('>J$^\<0?-8$7&9&Q&"QNTT#J#%GO*8YD66T3?H80+*JXMDR1J
MHD;6#C\46WA#.<2]A.(GTBT4UB)1*4@.:PFOWJ#0[Z%L&_,1:3T-O=#OI$,W
M\D/'-6=CW'"/K=Q+*/LJ%XH5U.<G59DQ$8YUPL"/.H2Z48 ]STR(G;:P.O;)
M1 L8LJQDC!,HW:E:W$JTC 72T2#& >FN2),5\7M6)#[3 &Q%U2>7$1$;5F;H
M=Z>_R0QCA_1 DA:2?!(R+=8L-V>1:&T/QSYVNH@&LPB'/9,2MU4>V\O\O) 4
MU%&68\[DCO*:%5W4B?UJ6[6XK>W87MR;ANJPQEQX>B>QWZVC1BO7Z<E$6^2Q
MO<HW@):QTDMX@+MTNDT8];"U11[;J_Q"#<PE*JBQIF&]? ])Y';!="N_1WQP
M6^)Q:*\8L.M&&\YR1/-]QGY1"AME";57[7?7G"9F5:JC?I0E1YOSNE7?*+?J
M@>WR40(#&WQ-;*&N%134$Z0]8\5V"..?@WZLS,BZ*)#S]5<CZU9]R*UP8+MR
M?&*)&H%UC7#)V.L"ZU8],D):&2%V&9E7="L*2:8G5AF_FVLTT05B&!#<U1&3
M682#GCT*:86$V(5DWN !<$%[ME%$5X@A<<+NXC>:^6X?9"LDQ"XD:F><P4;/
MB$:T/>_0PUYW3V,R\X.^LDE: 2%V 3FA(= Z!*G,87&57UPVV2"M;!"[;-S%
M(EVC"UBT"<NRF%?ME T89WT=+CSOIG.E9\-H%O8H/FE%A-A%Y#[-#I(F_P78
M_QRPT:P7N%46$EB';UE]'!\$0 ,SL Y+5K2.L_4ABU4AMXYD*Q7$+A7M2%8?
MY.9LZ"4?OD.ZNU^#51B1L"<7K380NS:<#YZ-4:_Q)D;#EX;..#H[!LDIWY:G
M0P+6T:&0U=%!\[8Y@;HMSUTZ[^_P]:PZ1VK#5,=:CS$H72%01C<0$N8,S"1>
MG115#Y+MR\.6%9.2Y>7MCL8)Y<H _M\P)D\/JH'FO&[Z+U!+ P04    " !<
M=WA4/_!7XIP"  "(!@  &    'AL+W=O<FMS:&5E=',O<VAE970U+GAM;*U5
MVV[B,!#]%2OJPZ[4DBNA6X5($*A:J5S4T.[#:A],8DBVB<W:YM*_W[$3LI0"
MVH=]B3WVG#-G)IE)L&7\362$2+0K"RJZ1B;EZLXT19*1$HL66Q$*-PO&2RS!
MY$M3K#C!J0:5A>E8EF^6.*=&&.BS*0\#MI9%3LF4([$N2\S?^Z1@VZYA&_N#
MYWR9275@AL$*+TE,Y,MJRL$R&Y8T+PD5.:.(DT77Z-EWD:_\M<-K3K;B8(]4
M)G/&WI3QF'8-2PDB!4FD8L"P;$A$BD(1@8S?-:?1A%3 P_V>_5[G#KG,L2 1
M*[[GJ<RZQJV!4K+ ZT(^L^T#J?-I*[Z$%4(_T;;R[4#$9"TD*VLPV&5.JQ7O
MZCH< &S_#,"I <XQP#L#<&N JQ.ME.FT!ECB,.!LB[CR!C:UT;71:,@FI^HM
MQI+#;0XX&4:3<3QY>AST9L,!BF>PC(;C68PF]RB:C*;/PX?A.'Y\':*G21RC
M&_02#]"7JZ_H"N44S3*V%IBF(C E:%&,9E+'[5=QG3-Q;0>-&)690$.:DO0C
M@0E)-)DX^TSZSD7& 4E:R+6OD6,Y]@E!T;_#K0MRW*:PKN9S_TMA?_3F0G+X
MIG]>".TUH3T=VCL3>@S-7S!Q\JU4R+9&J@[?A#>>[;4#<W-8JA->;=^U&J\/
MLMJ-K/9%6=!VT%04OFK."4W>$21,18&K=DY_P<<.XT%>(PKZV0))O#N5017$
M/]!FW]I'^C_[W'1.B_<;\?Y%\1$K84IF:GQMR-GJ^I_KYG[SO2-U)[R@NL<"
MS8.F+@E?ZEDG4,+65%9=T9PVX[2GI\C1>1_&;#45_])4,WJ$^3*G A5D 916
MJP.:>#7W*D.RE1X=<R9A$.EM!K\*PI4#W"\8DWM#!6A^/N$?4$L#!!0    (
M %QW>%12&5V:VP8  /(C   8    >&PO=V]R:W-H965T<R]S:&5E=#8N>&UL
MO5K];YLX&/Y7K.BDVZ1EP>9[:BMU":&5MK;7='<Z3?N!$K?A!C@#IQ___=F$
MAF ;N[>+]DL"Y'E?'AZ_V,]+.'HDU?=ZA3$%3T5>UL>C%:7K#Y-)G:YPD=3O
MR1J7[)<[4A4)9;O5_:1>5SA9-D%%/D&6Y4V*)"M')T?-L:OJY(AL:)Z5^*H"
M]:8HDNKY(\[)X_$(CEX.7&?W*\H/3$Z.ULD]7F#Z97U5L;W)+LLR*W!99Z0$
M%;X['IW"#['=!#2(/S/\6.]M WXIMX1\YSOGR^.1Q1GA'*>4ITC8UP.>XCSG
MF1B/'VW2T>Z</'!_^R7[O+EX=C&W28VG)/\K6]+5\2@8@26^2S8YO2:/9[B]
M()?G2TE>-Y_@L<5:(Y!N:DJ*-I@Q*+)R^YT\M4+L!2 T$(#: "0$V-Y @-T&
MV.(9_($ IPUPQ !G(,!M UPAP'4' KPVP!,"H#T0X+<!?C-86W6;H9DE-#DY
MJL@CJ#B:9>,;S?@VT6Q$LI*7XH)6[->,Q=&3Z>7%XO+3^>ST)IJ!Q0W[^AQ=
MW"S Y1Q,STXOXF@!SB_ XNST.CJ[_#2+KA>_@^B/+^<W?X,Q^+*8@3>_O06_
M@:P$-RNRJ9-R61]-*"/&TT_2EL3'+0DT1((4!2O+!27I=_#U,RYN<?5-D6:J
M3W.Z7&:\OI,<7"79<LQ(39-U1MF^)NE,G_0:4W9#XR6(DJK,ROM:ERO2Y[IA
MDT6]J9[-5SHW7&F:;HI-GE#&ZY*N< 68A&PJ6O$YX@&#\S(E!09O/I&Z?JL[
M3VP@3)AX_; )*[!=E:%=E:$FCS.0YR.^STJN'ILV\J1,,4@HF.'T/;#A.X L
M&*J*9IO3;7+R*?7A!$+W:/*P7Q$RQD:>Y?11,QF%7-L)^JA(1HUM!*'5A\U5
M,-C'Q*H3ALC;H7HJVCL5[?^HXAM6XO4JJ3 ;Y=<HNLWO[='R'=]">TKTB#D[
M8DX3: \08^7&*YOQ80R:K;=\1FBJ?$7R):YJ-FO\V&3T&7R])GD.V#+RF%3+
M;YK:<G<G=[6JG-?UIA&#W+5:@+N*%  _X2K-ZNWQYGXC:SX[*.<G5RXUH=!<
M23K;%\M,Q@BU$QD1<R,B5C%QU0/H[33T#JOA?N6I]/0DCAYR+4O-TM^Q]%_-
M,MTN&2TI[HIJ6F4IGQ"WQS9E1I5#[4M#+0@\]4U#,#,B(B-B;D3$.D1/P& G
M8'!@ 4WC',BUB'PT4(WACF;X4S3?@9)Y<W8P>P&DI*8J6J%\.POWZC24F <^
MLH5QED'B.!L1<R,B5E&Q?;6&T.J,G75 %4T#W9YLGR2T \L:NJ?AG@&%6I[7
MF!UA:T.]8AT.[6::A"\0-6".DK<6N*J$RJ0$K)-G9I?IBJ\Q?%FDR1-6VT]H
MO.E;R/X%CAUA$9@I0&)!F"%S,R0VL.E+W;DPJ+=AAY;:6#1(O@KH6,& W8"=
M$8)Z)[3@YQSS%G3):YOUY772=+;XB6]C)1G;7 .R/PI\3ZP!&235@!$R-T-B
M YN^=)U5@XY6.N:\6'M>LMZ2#7.9/@-:)66=;^5+EO^PEI,7QVZ68 .M5-,Q
M\9^:(3,S)#)#Y@K(V!?%U&+Z6G;.$^JMYP63*&<MEE(@HY&;FB$S!63L>K8D
MDME7FB&Q\61]F3IS"?7N,BJ7PZT?LI3J>?(*+E[U%,HNTV%]G73#RC 8^E#L
M_A0P9?NGQ 6BE#)_VT+VT-W;.6"HM\""E,/]WX"LLJ4,0ILMY*[(7P9"%/H>
M0D,W3>=!8?#KFT78>4OX>G/YT^TBE VF5)RRJW/DTC0;3#-D;H;$"L+.4#6B
MSF*BUUO,@[2-2':9H3_H,5'G,9'>8QZF<T1F%XF,UFYFAD1FR-P,B;60OI![
MS_'T#O+P'222/:)KN4,M).HL(M);Q/_?1"+9,(;B<,L6#4)DB6V# B8-N=DR
MFB&QF@\<&O;.-"*]:3QL+XED+Q8X:/ A%NK\&-+[L5_12B+Y4:$T"2A\%+3%
M9PL*E%049EMGAL0F.GVQ.U>']*[N5S>32.&[G, .AU:QSE,AO:?ZF682F9\B
M(I6%LD0'H$!)56!^EFB&Q"8Z??$Z-X?TCQ0/U$XB^4&BI*<1,C-#(C-DKH#
M0/J#1P_JJ]F94Z0WI[J&$AE=WM0,F2D@8P<ZKBB3V76:(;'Q9/V_P3K?:>M]
MI[ZAA,I_OBQ%0RDNYPJ0ZR)'O&=5N5S7%R;X2 %3-I2J=(Z0+%: [" ,!RK.
M[IRQK7?&KV\HU;+*'C,,?!0$H<A?!C+]H>_;XB5,]EYFX&_#?$ZJ^XRU#CF^
M8Z'6>Y]I4&U?,-GN4+)NWF^X)922HME<X83UD1S ?K\CA+[L\%<F=J_YG/P+
M4$L#!!0    ( %QW>%1/#+Q"30<  +L>   8    >&PO=V]R:W-H965T<R]S
M:&5E=#<N>&ULE5G;<MLV$/T5C*8/R4P5$0"I2\;VC",[K6<2VQ.ES3-$01(:
MDE!!R)=^?1<D+4C$Q?&+1=(+\.!P=\\N</8HU<]ZR[E&3V51U>>#K=:[CZ-1
MG6]YR>H/<L<K^,]:JI)IN%6;4;U3G*V:064Q(DDR'I5,5(.+L^;9O;HXDWM=
MB(K?*U3ORY*IYT^\D(_G SQX>?!-;+;:/!A=G.W8AB^X_FMWK^!N=)AE)4I>
MU4)62/'U^> 2?YRGU QH+/X6_+$^ND9F*4LI?YJ;F]7Y(#&(>,%S;:9@\//
MY[PHS$R X]]NTL'AG6;@\?7+[)^;Q<-BEJSF<UG\$"N]/1],!VC%UVQ?Z&_R
M\4_>+2@S\^6RJ)N_Z+&UG8P'*-_76I;=8$!0BJK]94\=$4<#<&@ Z0:0_H T
M,(!V QKF1BVR9EE73+.+,R4?D3+6,)NY:+AI1L-J1&4^XT(K^*^ <?IB?G>[
MN/MR<W7Y_?H*+;[#S]?KV^\+=/<9S2\7?Z+/7^Y^+- 0_;6X0N]^>X]^0Z)"
MW[=R7[-J59^--& P,XWR[GV?VO>1P/LP05]EI;<UNJY6?'4ZP0C 'U9 7E;P
MB41GO.+Y!T3Q[X@D!'L S7]]>!*!0P^$TF8^&B*4U5NTANBHT5K)$D' *:9%
MM6D]5FC!ZX^1]Z2']Z3->]+ >VXAQ M9>S]!.S)K1IHX?K@8ICC-SD8/Q[QX
MK+(Q30Y6)["R ZPLNOS+U3_@M!#GND9:0J#GLLI%P5'5X35/S75N>-K7?&4<
MZJTDC0]HQE&2%ENF^-"$^0KELH3<5[,F>_ G<\U]Y+4SCH]HP209][ASC::3
ML9^YR0'K)(KUBD,>SD6+#X(+L5(J+?YK'OB 3AP,LVS2P^G:8)H2/]#I >CT
M%:!KKE3SX8!3CC1[0DM>\;70/IA3!\*0X"SI ?58T?'$#W1V #J+ OUBW W(
MK!GXGURCM7@"U*RNN?:&S<PEM(?2M0B$"TYL_DVB($&,0&HJR/7 :94_(ZT8
M>&DK<N\V(,3U^R9PN#_;)@XD,B$]V!ZC838-(#]2#AQ%_@<SD5LAO>4(ZHD-
MR''%#>-KP%MMAIJK$A1UZ?6*;NZ>6TQH'[EK%F*<6-PDGJ&WK-KPNI=W&J]H
MXJX0;"F*5W,0MHJ :92HRSR7>Y,0(;ZY>&#+PIMXNEE.*$F!DSXEKAF93;(
M*U9.<%Q/KLM=(9\Y!Y :LK?QOAR"7.C74*<N:@CO?GQ[S$(?TDH-SJ*0;RKP
M."V5"(1&YKR29JZ'N5;!5(ZM[N"X\-PKOF/B.$4&,+I"0@AVR'.MAH20$$JK
M.#@N.7<0NJK+/+KU_4/@AM,D=D6%$B?EN$9#/ OE'"L].*X]AU#:L>>@1[I:
M0C*:]@%Z% >3X)>WFH/CH@,(U9Z?9)&&6=EP??34"]T5F&SF4.L:X1!N8G6(
MQ'7H]J4FVRGY(* T1\MG;UWFPTT\ D,RQX]]9O38[!2[52*"WU1S"T@,]1O*
M26*U@Y H2W.V$YH5;?T(R7&O H00CW?1:=\)?6:3- WP806'Q 7G7LF<\U7'
MQJ^6/\05EFD?KVL2^GA6>$A<>* !?^GIWXFZWK,JY^\-WDIJ_HKX$%=5<#9S
M4'LD:IR$@%OY(7'Y\4;,NZZE>>]U0N\:7 $B3CKU&($_!3W%ZA09ORERUJ("
M_M\0.59K2%QKOO$'63R8F;NRPAB@I50P$SSU4^.*B)-27!,RR4+9T.H,B>N,
M'RV(3M/9>K&Z>N)@];5"8;!6<LAK?<YQM?T:I[$>IL/IFIR4YJ?[(E9A:%QA
M>EE)R_PG"$S7CG.5BT"+0UW52&F_(?<8T5!13*VPT'B+<PK9-#HO&<HD*"CM
M2M->FI5X@;O-"X;JKB\"'K/9)%0J42M5-"Y5]ZVS]H':%>2R]KLR]8E7XN+V
MFHUQ /C1!EI<O7X(O=W*8F6BKRF<45-*.POP0O?T4)CV:WZ?51K";86,QH7L
MB/ EJWX>Y=(PTQYEHKB/UF-$<"@<K7S17Y2OETTX7^[W@G:U"./4V73PFB4T
M1+.5+!IOK:[7:R@7#,O\*6]:>00U*KASU]:;QM4LRQ3=S07_=P\51!%*W-33
M7$V=].+KP$)+L9I(XYIX4X&ZL)H;]M^&V;/WESAUC\=JC$-R0ZTVTK@VSD-(
M?T=+OA%595P(/@_T#D*NO/!=(03/R/J[;1ZSE"0AQ[=R2>-R&<'/3:,61>[I
MO6:IL^WJ,SM9X.F6OY70-(F6:XO];E=PDV6@!\E?:C=PG_8\#Z0T>K1@=2^-
MZ]Y-!>4$5*]-YO6>,+B:->G'C,=F'"A84ZMJ:5S5;HXV5,+H7&5R/I'')@V$
M1FJE*XU+UZVLALUGR=T^$0G-2_]Q#75.8J;];.JQ(?WR9G1T#%ARM6E.1VO4
M[)BTYVF'IX<3V,OFW+'W_!/^.&_/4>TT[;'N5Z8@PFM4\#5,F7R8 "#5GI2V
M-UKNFL/&I=1:ELWEEK,55\8 _K^6T-5U-^8%A_/JB_\!4$L#!!0    ( %QW
M>%3Y#$QQ<0T  ,L@   8    >&PO=V]R:W-H965T<R]S:&5E=#@N>&ULI5I;
M<]O&%7['K]@JF8X\0TND;,=.?)FA9+OQQ*XTDI.TT^G#$E@2&P%89'<ABOWU
M_<[9"T#94IO)0RP2V#WW\YT+\VIK[+6KE?+BMFTZ]_J@]K[_X?C8E;5JI3LR
MO>KP9FUL*SV^VLVQZZV2%5]JF^.3^?R[XU;J[N#-*WYV8=^\,H-O=*<NK'!#
MVTJ[.U6-V;X^6!RD!Y=Z4WMZ</SF52\WZDKYG_L+BV_'F4JE6]4Y;3IAU?KU
MP7+QP^E3.L\'?M%JZR:?!6FR,N::OGRH7A_,22#5J-(3!8D_-^I,-0T1@AB_
M1YH'F25=G'Y.U-^S[M!E)9TZ,\VONO+UZX,7!Z)2:SDT_M)L?U11GV=$KS2-
MXW_%-IQ]\NQ E(/SIHV7(4&KN_!7WD8[3"Z\F-]SX21>.&&Y R.6\JWT\LTK
M:[;"TFE0HP^L*M^&<+HCIUQYB[<:]_R;M\J55O=L(;,6J\'A@'.OCCV(TY'C
M,A(Z#81.[B&T.!&?3.=K)]YUE:KV"1Q#JBS:21+M].1!BF]5>22>+&;B9'ZR
M>(#>DZSJ$Z;WY(^I*OZU7#EO$1[_?H#)T\SD*3-Y^N?M^3"AQ9&X3^#/5G9N
M67KQ695U9QJST<J)#UUI;&^L]*H2A]YLE*^513CY6FCOD'8KIRLM+0[/Q%^_
M>7%R,G^92,WX^^*EP)WT[LRTO>QV^55\O%5WGPPN/S$V/32#C0\?S<2VUF4M
M:NE(DJ(&>/P^2.N5Q8-._"C;2G4S<6:ZCI*U'+R07<52]U836 B@$#33W4:L
M9:D;[7=T\X.O92EGXN_(_G\B^V?QG&*ZIE.3>TYM ";^!^',VF^E58\K"T#H
M"I^LN&.NX-B%"Z89R/9. /M$C?06&T0#S F)KI4G'F4S5"R4,14XV!M=*C$2
MG(E2PFF&"6]D2T?IX\7YE9 #<ENR<R.](W$^V E;R B <7K3P:-K:UKV#F08
M0&+H&8TJD>\SY0 9\+M5OP_:*E+9\1NB!MJXB?RT1*HX/?]Q^1?Q^9/X $\C
MGA!DQ.'L_)</;Q\OOA<7N*=:72*V^,5:6^=%=!V=1F;.9_MW^G2'>-(;JQP0
M,ABTU+(1E79>=B4]:95T@Z5X'$U9-H:?,0'\]5:7".F"ZA#>.^)+C^6 V(VZ
M!2O#(6W?L,JPRVHGU@J:RF8F<-HK/MF8$B+ ]K6QVG,J=&HCJ30T.[HOB=EH
M1NC"QL-_D-L./;U%E@4/011#+AOZ'K?+&D5PJDJE&KFC\]94 ^SK:MT'A[ W
MZ:K?&KBO&Q#5'EHC(4A"8H( _@R"36)_5NM.'HE?:]THL55B!;'A%B/4+6)<
MJPZ1)T5K$#$>!BK-C4+>0'/+QM?!A0XO0*R6S3HY$*] A4"6^1 YR.IK[48R
M.(![(#2HHAHL$<2%D^![=4O!XW4.;QA1!3?%ZQ1[0W?=F6TG-I1T^%8JZV$O
M)#+<S3%-U^'9'I;%F1P<Q)Q%YZZ#Z-YH.SAQ RCC"$!V J?@%0_;4H2M![(E
M1Y[=D&%<"NUP,X4FI99>ZQ)4DG<I'0$JGIV3HL#!7C>JD T)L)L8/'BFE;ML
MG7V''%'F--08! %@THGB,W+C-&2EZ(9V%5*K-'"CDS?3-!&CZ>?$J%9-CZ;
MZPV%-VFD8R)W+/\:$=-QSO7&Z= %0=Z(B0PQE#Q1](I(-O B&Z.TBHX >PN'
MS OQG-FC.OVJV*VMZ;0W-H18!5OB"YL[9DZ*@6E><,[(!@KUNE=4^69CQAE;
MD<4#%-_-&T@H730@C@C$.NJ#5\F_A#3\77\=T3(Z10NEFOI2U&:K(&>(Z$9U
M&U\7)$.FZ.@UU9U(TRJ2C6P*4:*R50@ >ITY 8,A[,3Q1^)4(JN1(E?4MJ'N
M25>+]VB/6>F/&L!=@=%1\==OOO_N^?<OBXMAU8#2^7JMV-!46!>HMN>=."^]
MH8A9?#<+84$DEL,&UDS/%A&A0SD75FHJ&QT*!NQ;*E61NXIO$4A-DT)D_'8H
M9IR4J@P8.1-R[1D867U(P_5D2VA*(8+(02Y[X&IIVE8[E^/,)/$I/SI'T.MK
M)/ZF+C()9+#H@[;I>+C,E0L.EYN-59OH<7Y12QORF_B9KD 8E=?[,D\L>7$A
M/AK0F9CP$](W=)GS?4MMT:]LJ,AP:HXF:8C X:132E13PS.66)30'>:H\EI<
M6,!3B!=\!-FVN$,BWY85D!1%4ME0QNC852N;1IRF%G 9CX0\%H>1RM7I,E.A
M$@E#8C1()?^MOM$\3"UGXK/V*",?<H(8BUP/Z+C4U4Q<(BW5>L8F?@>$,!3*
M5ZH<. 42O[/EY;NKS)'ZR-CJJ0Z\B3&G+*!DL$A60)W9*7@+N+<>;$.^QR$E
M+9A9Y%&1D&T]0%LDGHJ7*/L#;!LN_@;(,WKU720,J;D$0,4SV Y %MV<3U*C
M&%^]3WWD7BA8"+]XDJ(!<A(R6R['A#U(FZTH X'<B'*+?07 E\7'B)1_0USW
MXN/'LU!,D&@WNJ*>!M+?F(91/9(A^",WX#PXY"B;4</^&U=BXKLRJ)%;ND9=
MWZCZ):4AQ#N3O?8 ^G>W#-:>RT72#%#-N$Z-33RGIN>F984[52NK ?%&/3:D
MY#8S)>VT" "+)U@.R(6:JN+20#41+N81!#V)7N^H3'.CQ-4N-@Y,DQH@N0F/
M<ZF#Z:GH[M?'6+=E&:I7.N/EM>)6*(E;- E$242Z,NE.U"T%"2/&G2XO]RL5
ML+XQ?82>27?G1$>[@$;_![5]R4 (AVK%GMG68>2B#DOG^GH,O4&.JA=#+P]B
M:("Y4ZG,L$)@K\P0.@ZY"B$%75I:R<1.9BSD!BF]B<6;9"U(.<S>;9B]UZ9I
M0IC0\XIQLHLY&?*\ Y+JBCO,]YGJ%?7'H<*&*AWZ3VY8:/DA%O/'/Q'D:9<
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
M+]A*6:L;?/N@ 4WX_UD/6%'PS\0N^K7.61(/IEG'U[<W\<5LDL1$UF3\K2S
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
M]I'#HL:FCT/1 RV-+"(4Z9+4.NZO[PQEJ]YD$[3HA8_AS#??<(:<V4&;1]L
M./;42F7G8>/<_C:*;-E R^U8[T'A2:U-RQUNS2ZR>P.\\D:MC-(XGD8M%RI<
MS+QL8Q8SW3DI%&P,LUW;<G-<@=2'>9B$9\$GL6L<":+%;,]W\ #NE_W&X"X:
M4"K1@K)"*V:@GH?+Y':5D;Y7^%7 P5ZL&46RU?J1-O?5/(R)$$@H'2%PG#[#
M&J0D(*3QYPDS'%R2X>7ZC/Z]CQUCV7(+:RU_$Y5KYF$1L@IJWDGW21]^A%,\
M.>&56EH_LD.O.\E"5G;6Z?9DC Q:H?J9/YWNX<*@B%\Q2$\&J>?=._(L/W#'
M%S.C#\R0-J+1PH?JK9&<4)24!V?P5*"=6]PKQ]5.;"4P;BTX.V(*W"QRB$T:
M47G"6?4XZ2LX2<H^:N4:R[Y3%51? D1(:F"6GIFMTC<1/T Y9I-DQ-(X3=[
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
M,#09G'"[L5U#Z@PR=6@"2T/<4L*TY!Z.UCOP?F$,;0T?H/]7F/\!4$L#!!0
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
MU77V%5S V:*X"71\2!8VM2SK -):6?)3R*H/Y*T^1CK@&+O& .[WMZ 'O</
M%\/]J-*!68'I+$M3BGMO<+2X=<:>103'P(5$#7*W$U2",(;KSDJ]#D</0E=^
MD4Y@@U"Q0FUHMR9"<X*L,? >_,D;PXTU"KX*W?'8@7"?TB-FM:9;U\"W#-62
M:]'?M.PLL+RA5R X<1*-EUI,TJ*8G!;Y&]_[''U6A],\SKA9FX;GS@0$L4 0
MSVAYR@UUYK##D_BL@!;M08"*_W;UDIW&5LAGX,<7GX<O8=_CX^XX(2_ZP?#F
MWH_76SY"J1TTN.+0-#XYBL#V(ZLWR+1A3"P-\= )RYJG/%KOP-]7QM#6\ 3C
M?V/Q&U!+ P04    " !<=WA4E_,L:JP#   D"   &0   'AL+W=O<FMS:&5E
M=',O<VAE970R,2YX;6RM5FUOVS80_JY?<1 6H 4TZ]5O@6T@2=LM&%($2;-A
M&/:!EDX648KT2&I._GV/E*W::6M@P+Y81_*YY]YX1R]V2G\V#:*%YU9(LPP;
M:[>7<6S*!EMF1FJ+DDYJI5MF::DWL=EJ9)57:D6<)<DD;AF7X6KA]^[U:J$Z
M*[C$>PVF:UNF7ZY1J-TR3,/#Q@/?--9MQ*O%EFWP$>W3]E[3*AY8*MZB-%Q)
MT%@OPZOT\KIP> _XG>/.',G@(EDK]=DM;JMEF#B'4&!I'0.CS[]X@T(X(G+C
MGSUG.)ATBL?R@?V#CYUB63.#-TK\P2O;+,-9"!76K!/V0>U^Q7T\8\=7*F'\
M+^QZ;#X/H>R,5>U>F3QHN>R_['F?AR.%6?(#A6ROD'F_>T/>RW?,LM5"JQUH
MAR8V)_A0O38YQZ4KRJ/5=,I)SZY^0;71;-OP$A@5%;CL"TT96\26##A87.[)
MKGNR[ =D:09W2MK&P'M9875*$)-G@WO9P;WK["SC.RQ'D*<19$F6GN'+AW!S
MSY?_]W#AKZNUL9JNR=]G#!6#H<(;*OZ?O)XG2XL1G//\]DC6N&&ZXG(#JM-
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
M&6=DDL9S,'^ >U%@--!DO+85V4E;Y63"9@(C<$02-D,6-F,I.-=5W3G<IQ]
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
ML.8R"_8R+(!8/$J5)L]()YWD.!A>45,C@_F#K-0B)@VSD<;AG!BP"S=K5:^
MNF5OZ!JUOP-Y$7)K>*8V0!KN*,C.(I8R1KI8.K2<X_ ?P\O4II?W[]FL9>0>
M6FUR.^+\6Q/^WF3<"<. .M"T7>6"V;#^DAX46C"'^ZG*$-(O833KQL)?99U%
M:B%KLMQA%<.D8,>0 EBDM QP^CM"1NU+-$O Y8F\3NJC4#NDXDA'%B'91XZ/
M-*!9D["V=D2%D"<V,=\D5;UE0#Z5-X&351 G"3>E%F."B:GC_<[9J0:X@#8K
M6P#:S:/^5"5XQ8LO<_>$T-(0">^#DM9V/4\B@/4X""(E1"?T=HH>4%HV^1**
M!=AQ*IB;,C2*LK?0E,OZD4()*K=&AC. !FF"P%@RG[MD338H,2T*O__XX>;[
M7SY_NOXIDJU7!6LVM%,D@E-*0D4WZN*:G7I=VO(@+4DAXL="DZD#VI,[F^!A
M(N\C+6LMI08F\D+MHDU>4HJ3K@!_QQV10C9,35U!>!45^:CM%#?*%@"-[HI]
M!\"9$3+ '+M7F%U]B]4D"'95UI_<8^YITV@_5BINI!\55\8@G2F*\S8U>4(,
M7WLOPU;E^*=(15LP^CU&9J1<'>)N5[$KQ;91Z@*A.,]M:Q3% ]L/MUW5AK/4
M</'4-[PABW7\QFU6G+ELN#1\Y.8%MVHI+%O_>\Z3DF5MM2;3^ B0QM!VY*KN
M9" 6!QAR+1 (,0HB QL<)&9[63!:ZK^^Q!4)E/:[GY?N./PX.$CR.X//9DD]
M-2GVR=SULL],6M4VLBU4H9::LD-#F9P5@)42[<RTB^.9@:W*C2TW%HH/O'B]
M*HLXY>OKH#_"I]&>.F6!!!<YE%T(RC?6 EV.F7B4;UR3@!U=.AS..BH@$Q 9
MG@+_91O(;,,"'YS51.'[7_]^_5]AFI=-=B3)3^M[U)A,1:\4!=)5P=6&:39T
M@D,V+NT.X&QH4QL95N8E2@0?-RQ"D1T5O&&=[M^AA%+I&BEJ-JBC)SHZZ(ZW
MFY61$SE-&?$\:Q)4%<#:NOC5<<G7/E+VW: UC\0\;Q[[@I3O=G5%]JE>GR/V
M QC_U'*.PH9;9G#G#>ID25@HN.YX49=BWXV"/CI0C[*[H;+%[;92LF<Z>K2=
MPE7)-9 ?YQME/J>P)2]!'%<?::6Y>4!9,X2BE@&6$=;)O1S[<IG1Z5GT4)U_
MZ!(9PJF^NG9E.0[(V+?-6JL7PN .>8^F0OX_L3E;T/V%8)]R7>7;$U*S%?OS
M#M)WBY)ML[J?:]5/&W)/+*<QUG!M?DQE8I;DQ(*R%0$@2&NSY,!FR1Q/76=\
M6'W4!(7Y<(.%>A'(&_9(+<[B9".V9B2W,EVPDFAK^!  (\R*K'+/$J2B(>BV
M "M@X[:#NUJ\ 8EM:Q2^8\'S@TP;/CT27;IOM#?^7&9TG<27S[.19+#TOH+<
M)S(7>WU%[QLJBZ/Z%;"[!]NV,FZ_]TGV>\,.;5LH;=$?<$L#2Y)0X5Q*')A1
MVTC?W!BQS7@*0Z5+*%O5H3UH1;SEK+5<KS7[N[%P^N3.2+BG@?J4#E)LG6N;
M6+858U5I\<4&7*KJH/QRP2<_;=2CS1D0[CC\3B/S16BY\YU2!_M#9]Y9.YIN
M>+35$$49JS3XE(IL5K! KJD>N+&X@&E24:E):ZORL5-31K8"C0C=I:6/'+&P
MYU=<>05=7OZZP9)1F=%QN93*%W+X7ME2NI/'X2TKFZE2GF\QODZ^VM,3]=66
MIAR6+!MSO.\\GML]VX?ROU$++0MOZ1#.4"-<<A'*HX//)4P/L#L8\X-701Q'
MY[,+?+BX.*>OT^AL.@\^_GH;)@T03!IXI]%%?!Y<T/]X>+-=(@7Q)(K/9\$\
MBJ>703R/9I-I0-=QZDI]#>+S.#@]FP1GLSCX3!!U#9NX=0#\8X6R"#/GDSB8
M8]I9-)G,1&KN%;*Q0K#9-#J=T)6"L^CRXHQ^N(QF^#"BI\E_4D]@.R>VY^>D
MK',H[71;2[/H_&P6G-/_YY,!+9U%%_,I=!A/STECE^>7P4]E#2&> E*ON_]
MG[WR+F8!ZJ-@AJ7OT]U9-#V;!N>S&<EX.1_0W?0THL>OH.8+#(7N)M'\<DX'
ME^*A"SFT-.TOMOUJ.PS<:"X67$IW;HW O#\VE6D2.;%P_>4C3M&JW<X@/!\5
M8.0?4:M^T:O. *-E%6Q7&I*$Z^*AI+3X.+PNAJ1QR0)?@ &)2BWI=-QSD_.&
M7D+!11VWX=P@N*-26:^!YOCN)@>_#:A$*AH;'>U!) -J4?MS??^]/51U':J
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
MQB*V,]MIV+_?V6E#)T&WE]AGW_?==Y<[3QNEGTT!8,F+**69A86UU22*3%:
M8.9"52#Q9JVT8!9-O8E,I8'E'B3*B,;Q,!*,RS"=^K.%3J>JMB67L-#$U$(P
M_7L.I6IF81+N#Y9\4UAW$*73BFW@ >RW:J'1BCJ6G N0ABM)-*QGX54RF0^<
MOW?XSJ$Q!WOB,EDI]>R,NWP6QDX0E)!9Q\!PV<(UE*4C0AF_=IQA%](!#_=[
M]EN?.^:R8@:N5?G$<UO,PG%(<EBSNK1+U7R%73Z7CB]3I?%?TK2^M!^2K#96
MB1T8%0@NVY6][.IP !C'[P#H#D"][C:05WG#+$NG6C5$.V]D<QN?JD>C."[=
M3WFP&F\YXFQZ)[<@K=(<##E]9*L2S-DTLLCL[J-LQS)O6>@[+ DE]TK:PI O
M,H?\;X(()76ZZ%[7G!YEO('L@O23'J$Q38[P];L\^YZO_Q]Y_KA:&:NQ'WX>
M(1YTQ -///@W\5MU.PIV$S<Q%<M@%N)(&=!;"-/' DBF1*4D$ANBUH0?B&<:
M)@%6!\0*M*M0<'HGB2U4;9C,S5G@"N8^<;!D#;:*!<U9B4"9DZK668$]G+\&
M(!73U@0GP; W&'W"];(W&(Z")YRE<R[/*ZTR,"9(DN#CAS%-DL_!+9<<&RXG
M&Z5RO.G1?HRH<>+0H]X((Y^@?X^.A^2M D<'W2I ;_Q,&E142]LV;G?:C?U5
MV^VO[NV;<<_TADM#2E@C-+X8789$MW/8&E95OO=7RN(D^6V!3Q=HYX#W:Z7L
MWG !NL<P_0-02P,$%     @ 7'=X5!/M(:WH @  Z 4  !D   !X;"]W;W)K
M<VAE971S+W-H965T,C@N>&ULC51-;]LP#+W[5PC&#BW@U5^)$P=)@*1=L0+K
M4+3==AAV4&PZ%FI+KB0W[7[]*-EQ,ZP-=M'GX^,C)7*^$_)!E0":/-<55PNW
MU+J9^;[*2JBI.A,-<+PIA*RIQJW<^JJ10'-K5%=^% 2)7U/&W>7<GMW(Y5RT
MNF(<;B11;5U3^;*&2NP6;NCN#V[9MM3FP%_.&[J%.]#?FAN).W]@R5D-7#'!
MB81BX:["V7ID\!;PG<%.':R)B60CQ(/97.4+-S""H(),&P:*TQ.<0U49(I3Q
MV'.Z@TMC>+C>LU_:V#&6#55P+JH?+-?EPIVZ)(>"MI6^%;O/T,<S-GR9J)0=
MR:[#1JE+LE9I4??&J*!FO)OI<Y^' X-I\(Y!U!M$5G?GR*J\H)HNYU+LB#1H
M9#,+&ZJU1G&,FT>YTQ)O&=KIY25[AIQ0I4 KCW#\!2?W=%.!.IW[&OD-RL]Z
MKG7'%;W#%4;D6G!=*O*)YY#_3>"CL$%=M%>WCHXR7D!V1N+0(U$0A4?XXB':
MV/+%_QWMS]5&:8E_X]<1^M% /[+THZ/TJY[^*^BW<GB4PM3@3#4T@X6+1:9
M/H&[O"^!9*)N! >N%1$%*?X)A$J8.9@OJ#<@3<Z<DRM.="E:17FN3AV30C,$
MSKT0Z';KX3_*2O0O7PA""#RVK,%ZT\X')_&2=(1SZHV#J7/92LYT*\'B1%&P
M# [@H9<D 8Z3(''.46:K48$2A=[1WN05FWCI)'8F7IR,G"^ Y52**B>L;J1X
M H-03N1-)Y$=8R><>F&:.E'HC<8A&B@U(ZLL:^NVHAHSD -F*6.TJW#T1&LA
M-?MM#YR3,/$F<>*<XBI%QRFND"F)S8@^S@7'QV^[_L#X1Q21H0N\C3!7H\D4
M,Q!YR=1D(O32<4#>^B3^0?75(+>VQRA\L);KKA"'TZ&-K;KJ?85W/?":RBWC
MBE10H&EP-AF[1'9]I=MHT=A:W@B-G<$N2VS%( T [PLA]'YC' S-??D'4$L#
M!!0    ( %QW>%3-,:.1!P,  )D&   9    >&PO=V]R:W-H965T<R]S:&5E
M=#(Y+GAM;)5536_C-A"]ZU<0:E'$@!%]6,HZJ6W ]G;;'!8U-OMQ*'J@I;%%
MA.*XY&B]Z:_OD')4=[,)NA>1',Y[,V](CF9'M/>N 2#QI=7&S>.&Z'"3)*YJ
MH)7N$@]@>&>'MI7$2[M/W,&"K .HU4F>IE=)*Y6)%[-@V]C%##O2RL#&"M>U
MK;0/*]!XG,=9_&AXI_8->4.RF!WD'NZ /APVEE?)P%*K%HQ3:(2%W3Q>9C>K
MPOL'AX\*CNYL+KR2+>*]7]S6\SCU"8&&BCR#Y.$SK$%K3\1I_'7BC(>0'G@^
M?V1_$[2SEJUTL$;]2=74S.-I+&K8R4[3.SS^!B<]I>>K4+OP%<?>=U+$HNH<
M87L"<P:M,OTHOYSJ< :8IL\ \A,@#WGW@4*6KR7)Q<SB45COS6Q^$J0&-">G
MC#^4.[*\JQA'BUM#TNS55H.0S@&YL3!\%2[>2S:YT2PA#N)=D^I$N.H)\V<(
MLUR\14.-$[^8&NK_$B2<W9!B_ICB*G^1\354EV*2C46>YMD+?)-!\B3P3;Y/
M\A_+K2/+M^3/%V(40XPBQ"B>BU&#(;53OHKB+. R!/Q65;^#3WTM0$@+_$(J
MM%QQWA;/2.0=:MA45=@>I'E09B_6:!QJ54MBZ$IJ:2H0=_X^,:VI [5WM\JQ
M ^X"PPXUOV:&WT1\.M!NP?H3BOP)^4\:7=SZ6-@YYG"CZ%>+SHEEBYVA:%E5
M7=OI$)%-EM3?TC_1_^FUZ6S52)\-0=48U+A_B'Z,LG%YG?%XD8VSZS(:\30?
ME_E5;[I^Y4WK\* X60LZD+E&'5STTP_3/,M^'L9L/$E3C_+#*'IO9<VMT-X_
M<2RF[%:4WFF-G\%(0\(@"<)0,R!XREU<,3-_1M&&M1ER459Z"QM*WBK]Y'<N
MLGT"]<&F(2$DJ8/DJ_2D+T^O@^1B7$ZGWE2,TY0E?^LN)V?M@HNQ#TW1<<9<
M]KYS#-:A[R[[=O.O>]^TWTJ[5\8)#3N&II>OREC8OA'V"\)#:#Y;)*Y\F#;\
M[P#K'7A_ATB/"Q]@^!LM_@%02P,$%     @ 7'=X5':)0&YX @  .04  !D
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
M9;,4!JOI1V_O.'WRXVZO'0Q/;Y;PMU(& ?#^H+5[<##!^/_;?@502P,$%
M  @ 7'=X5'W/FYO3 P  "@T  !D   !X;"]W;W)K<VAE971S+W-H965T,S<N
M>&ULM5=;;Z,X%/XK%IJ'5MHMF)#;*(G4-FUWI.U.U.S,/(SVP8%#L HX:YND
MD>;'[S%00A.@V8>^)#:<[SOW8S/9"?FL(@!-7I(X55,KTGKSV;:5'T'"U)78
M0(IO0B$3IG$KU[;:2&!!#DIBVW6<@9TPGEJS2?YL(6<3D>F8I["01&5)PN3^
M!F*QFUK4>GWPQ->1-@_LV63#UK $_6VSD+BS*Y: )Y J+E(B(9Q:U_3S ^T;
M0"[QG<-.U=;$N+(2XMELO@13RS$600R^-A0,_[9P"W%LF-".?TM2J])I@/7U
M*_M][CPZLV(*;D7\@P<ZFEHCBP00LBS63V+W!Y0.Y0;Z(E;Y+]F5LHY%_$QI
MD91@M"#A:?'/7LI U #NL 7@E@#W7$"O!/2. -ZH!>"5 .]8 VT!]$M _QC0
MYO2@! S.U3 L <,\645T\]3,F6:SB10[(HTTLIE%GM\<C1GAJ2G%I9;XEB-.
MS^:@?,DW>5F(D*PRA0)*D8LY:,9C=4D^$9Z2OR.1*98&:F)KU&JPME]JN"DT
MN"T:KK/U%:&#WXCKN/3;<DXN/EVJB$EHXKKMYOKJZXK+>8]KWLTU!_^*].@;
MNY8BSDPH'EF:A=@EF02YA#6VGFY0<'>^@E=C&UCNNUD>V9XX[Y(\O$<B,6Z]
M#A8;ZZ8J'K<J'C>G[?W/XOEYO5):8OS^Z5#2JY3T<B5>BY*_LF0%TO#C_)5,
M\W1-5)$317Z1]O3,"]Y!SFM&\G9&)_:VP12O,L4[TQ0E0KW#NL-%43&*A%(D
M1$= 6*A!_HZ#_1E/$L4#, #SHHH/6EW"FLSV3LQVF\WN5V;W/RY-@TK)X,S8
M)+7F469XW$8\902G!XX1G"EF\8O46ZPI"H-SHS"L#!QV&KB0P@<(RD0MLE7,
M??(U#$%B136-M8*N7R\?BB=\944QL$ZE1L-CH7D#E>M2[ZW4W:G4>#@>-7L]
MJKP>=7J]S*>C*=/ I.+(;7*!SXH!>HDY:1VE-Z.3;(P\MS?L'P7C5(SV1HY3
MB\<;)\:5$^-.)Q[P2E6D#9)-+/8 > O2V/6FHGT) 6_L__%IU/O'J;D[%6HQ
MECJ'(]7IKK3%@OPI6$I^/H)IBJ[VHK6#FGY<%]/#2*=NI_'WS,<1EHBL<:;>
ME^AZO%RW+;_T,.-I]Y!_@JV(MZ8B;_-T$C2#QUSOSXKA87Y3[P-C>)BWM-_I
MS2-[X4F6D)60B#5>^6R##NE]X]'=/ZW3AIZQ:Y<\\Y6 9_J:X[D30X@XYVJ(
M!+*X>!<;+3;YO6\E--XB\V6$'RL@C0"^#X70KQMSE:P^?V;_ 5!+ P04
M" !<=WA4WG>%@Q0"  !W!   &0   'AL+W=O<FMS:&5E=',O<VAE970S."YX
M;6Q]5%MOTS 4_BM6GD":ZB;M-C2ED=H5! ]#U2K@ ?'@)">)-5^"?=*.?X\O
M:2B"]B7QN7S?N=KY49L7VP$@>95"V572(?8/E-JJ \GL3/>@G*711C)THFFI
M[0VP.H"DH-E\?D<EXRHI\J#;F2+7 PJN8&>(':1DYM<&A#ZNDC0Y*9YYVZ%7
MT"+O60M[P"_]SCB)3BPUEZ LUXH8:%;).GW8++U_</C*X6C/SL174FK]XH5/
M]2J9^X1 0(6>@;G? 1Y!"$_DTO@Y<B932 \\/Y_8/X3:72TEL_"HQ3=>8[=*
MWB6DAH8- I_U\2.,]=QZODH+&[[D&'WOLX14@T4M1[#+0'(5_^QU[,,9($LO
M +(1D(6\8Z"0Y98A*W*CC\1X;\?F#Z'4@';)<>6'LD?CK-SAL-C'81#=$,M;
MQ1M>,86N694>%'+5DEX+7G&P-V0/K1L'NEGTV@3;FRT@X\*^S2FZ9#PEK<;
MFQ@XNQ XS<B35MA9\E[54/]-0%T54RG9J91-=I5Q"]6,+-(;DLVS=,SU"NUB
MZM BT"XN=>B?JK^O2XO&[=./*_3+B7X9Z)<7Z#\/L@3C^U\.UMFL)39&M/]K
M:B2["V3^PAV*-*>'\_CT;!DDF#:LO"5AGG$O)NUTJ]9QF?ZXQROYQ$S+E24"
M&@>=S^YO$V+BFD<!=1]6J]3H%C4<._<R@/$.SMYHC2?!!YC>FN(W4$L#!!0
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
M%/T5*^I#*Q42AT!I!4@%5JW2F*JB;IJJ/9CD!JPZ-K.=0O]^MI,&'D+*-O8
ML9.<XW//=:[O8"/DBUH!:+3-&%=#;Z7U^L;W5;R"C*BV6 ,W3U(A,Z+-5"Y]
MM99 $@?*F!\&0<_/".7>:.#N/<C10.2:40X/$JD\RXA\&P,3FZ&'O?<;CW2Y
MTO:&/QJLR1+FH)_6#]+,_(HEH1EP105'$M*A=XMOIKAG >Z-;Q0V:F^,;"@+
M(5[LY#X9>H%5! QB;2F(N;S"!!BS3$;'KY+4J]:TP/WQ._N="]X$LR *)H)]
MIXE>#;V^AQ)(2<[TH]A\AC*@KN6+!5/N'VW*=P,/Q;G2(BO!1D%&>7$EV]*(
M/0".#@#"$A >"^B4@,ZQ@*@$1,Z9(A3GPY1H,AI(L4'2OFW8[,"9Z= F?,IM
MWN=:FJ?4X/1H7N0;B10INN0TI3'AVJ0C%CG7E"_16C :4U"7Z L8@Q4ZGX(F
ME*D+U$)/\RDZ/[M 9XAR-*.,F5RJ@:^-,LOOQZ6*<:$B/*#B=BW;* PNS2_$
M-?!),_P.%@;>=_"@!CYMAD\A;J,.KEO=-W96GH:5IZ'CBP[PS2BG69ZAYQED
M"Y _&R@[%67'478.4);6/]\NE);F6VGBC"K.J%'F(]BZ8%/,+#O2(+.ZW$V;
M:3!Z R(;]'0K/=UFV\CV6-MZ%67O9+9=59Q7I[&MF:;K;%,-@OJ5H'XCTQV)
M*:/ZS7Z"]WI%8G*)OIJ"^\,4W&/,O*[6N3Z9F3C8U9^@4?T]CZ7S\3R!8G1A
M Y&V7K=$VLH5M(A2H&O+0L'==]SVB'L=X79WX+_62=HKB?AO))FS5A*]2SRC
M9.&,KU6&_T#9KK#@YLKR::O+(]=HH2)!YN OU-3NP _8H@^W(-[5)]PY>A-^
M)ED"_!)-!.?V>(]S?<P^Q+O"A:/3[<1=^<'-]>=?=N*XY-[/=RMH=PXD?%>_
M<.]_;\5QN<0'TOR]'L)V?#,BEY0KLT!J8$'[R@0HBR:JF&BQ=FW%0FC3I+CA
MRC2>(.T+YGDJA'Z?V$ZE:F5'OP%02P,$%     @ 7'=X5!YP4(4K @  O00
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
M0%D#W,^E-,\3>PGZ;YCT-U!+ P04    " !<=WA4,DRNA^P"   $"P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970T-BYX;6RU5FMOVC 4_2M6I$F;M)$XH?0A
M0()TCTKK5,$>'ZI],,F%6#AV9IO22?OQLYT0H"(!J>T7XM<Y]QX?<G/[:R&7
M*@/0Z#%G7 V\3.OBRO=5DD%.5$<4P,W.7,B<:#.5"U\5$DCJ0#GSPR#H^3FA
MW!OVW=J='/;%2C/*X4XBM<IS(O^.@8GUP,/>9F%"%YFV"_ZP7Y %3$'_*.ZD
MF?DU2TISX(H*CB3,!]X(7\6X:P'NQ$\*:[4S1E;*3(BEG=RD R^P&0&#1%L*
M8AX/$ -CELGD\:<B]>J8%K@[WK!_<N*-F!E1$ OVBZ8Z&W@7'DIA3E9,3\3Z
M"U2"SBQ?(IAROVA=G0T\E*R4%GD%-AGDE)=/\EA=Q X ]QH 804(GP*Z#8"H
M D1.:)F9DW5--!GVI5@C:4\;-CMP=^/01@WEUL:IEF:7&IP>3DO[D)@C11><
MSFE"N#:WFX@5UY0O4"$832BH]R@6/ &N)7$&&$0B(:4:2:J6Z.TU:$*9>H<^
MH-CE#?()8F+/W=]"/@/YN^]KD[Y-PD^J5,=EJF%#JCA$MX+K3*&//(5TG\ W
MNFOQX4;\.&QEO(:D@R+\'H5!B \D%)\.#UK2B6HO(L?7;> ;E9>NT 02H ]D
MQJ"^+O0/Q9EY*]%7RI=H"O*!)J :;G,O>K>.WG71HX;HK>[>CV;*;"6Z+=)9
M'>FL5>=^),=?@+1+IG <^E^TT^&@$P1O#MG7CCL VY/3J^7TGF/;S>?OI]AT
M7D<[?V6;+NI(%R]K4SM=U.12.PSC(S9=UG(NGV/3MWABRI4L1*7W!,MPL"VR
MP2N;AG<*.GY9VX[P'3*@-.X(,#QB' ZWDL)6IBEA.[7N]'<*;RLOCE[;H&V=
MQ=T7-JB=[[+1GW8</FLRR-_I)\QG?.':+(7<^U-^7>O5NI4;N0;FR?K8MGBN
M3]G2E/WA+9$+RA5B,#>40>?<U&I9MESE1(O"=2TSH4TOX8:9:5-!V@-F?RZ$
MWDQL@+KQ'?X'4$L#!!0    ( %QW>%3U+ZF%4 ,  *<*   9    >&PO=V]R
M:W-H965T<R]S:&5E=#0W+GAM;+V66T_;,!2 _XH5[0$D('&:7D!M)0J;-FG5
M$(SQ@/;@)J>-A6-GMD/AW\]VTK2D:4":M)?6EW/YCH]S?,9K(9]4"J#12\:X
MFGBIUOF%[ZLXA8RH,Y$#-SM+(3.BS52N?)5+((E3RI@?!L' SPCEWG3LUF[D
M="P*S2B'&XE4D65$OLZ B?7$P]YFX9:N4FT7_.DX)RNX WV?WT@S\VLK"<V
M*RHXDK"<>)?XX@I'5L%)_**P5CMC9$-9"/%D)]^2B1=8(F 0:VN"F+]GN +&
MK"7#\:<RZM4^K>+N>&/]BPO>!+,@"JX$>Z")3B?>R$,)+$G!]*U8?X4JH+ZU
M%PNFW"]:5[*!A^)":9%5RH8@H[S\)R_50>PHX,$!A;!2")L*T0&%7J70<X&6
M9"ZL:Z+)="S%&DDK;:S9@3L;IVVBH=RF\4Y+LTN-GI[>E>E#8HD477&ZI#'A
MVIQN+ JN*5^A7# :4U GZ(%(:39?T=$U:$*9.D:GZ/[N&AU].D:?$.7H9RH*
M17BBQKXV<-:%'U<@LQ(D/ ""0S077*<*?>8))&\-^":J.K1P$]HL[+1X#?$9
MZN$3% 8A;@&Z^KAZT('3JT^ZY^SU#MB[C&-90()R*9(BUFB].4U&R8(R:D:/
MMX(Q9*ZGV4M^=_B,:I^1\QD=\#DCC/ 83M "5I1SFTZ3Z!PD%4E;BDIK?6?-
M%H#G*8Y,[,^[I[8O$^)^+?,&LU]C]CLQJXME+AFB2A7-[)=LI8G!CM\H:J#M
MB_0'[62#FFSP$;)7I$!K!J9^Z=:[/=CS?#KJ->A:9' /M_,-:[[AQQ(,/.E.
M[7#/.PYP@[!%9B?];P!'->"H$_#]6W]BRIR4YF#;J$=[1,/S!O2^",9A._1Y
M#7W>"?U#IR#1]XK07LO'.60+D%W?) ZV)3?X;Y4 [Q1Z_,^98(*O3C7(K+5^
MX_TO/VPDHTUFU)X,'&[)PT[R.7FA69%]* G;:HR[RW']93]>+I26IIWHM+NM
MN+B[Y-XTC_?P)_F.I3!"F7L1V[C\G2<_ [ERG9!"[M4NG\AZM>ZV+EV/T5B?
MV2[,M1);,V4+-R?2/!H*,5@:D\'9T&15EEU1.=$B=XW%0FC3IKAA:CI)D%;
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
M^UEB\FW"+P*-'(R1<;+F_,T$S\74\8P@H) KPX#U9P\SH-00:1E_.TZGW](
MA^,#^Y/UKKVLL809IZ^D4.74N750 1N\HVK)F^_0^8D-7\ZIM+^H:7.CB8/R
MG52\ZL!:0458^\7O71T& #_Z!!!T@."K@+ #A-9HJ\S:FF.%LU3P!@F3K=G,
MP-;&HK4;PLPIKI30JT3C5/;,]L 4%P0DNIR#PH3**W2-7E9S='EQA2X08>AG
MR7<2LT*FKM)[&J2;=_R/+7_P"?\<\AL4^M]0X 7^"'SV=;CW$>YJI[W=H+<;
M6+[P"W9_/ZRE$OH>_3E#'/;$H26./B%>XD8?BP)!,)5(UPK5.Y&7^H(5*.=5
MS9G>%]58J-$BMN2Q)3</;Y\ET>0N=??#4ITFQ5$RZ9,^Z(YZW=%9W:_ZD5T3
M=ET+GH,<U=82)(-M??](V6F*-RXK[F7%9V4]$4;TI2[0EO/Q:Q>?J@I"[TC7
M:5)\Z]^-2TMZ:<E9:8,K-*8K.3FDR20XUG6:Y/O!;7(DS!T\:]-2?V"Q)4PB
M"AN-\VXFFD"T;:H-%*_M2U]SI?N&'9:ZLX,P"7I]P[DZ!*9Y]/\5V7]02P,$
M%     @ 7'=X5.'I1CB/ P  $@X  !D   !X;"]W;W)K<VAE971S+W-H965T
M-3(N>&ULK5=1;YLZ&/TK%MK#)K4%&P*A2B)UZ:9-6G6K=;OW8=J# TZP!IC9
MINGVZV<;"@0H-U/R$K#]G<_G.S'']F+/^ ^1$"+!4Y;F8FDE4A;7MBVBA&18
M7+&"Y&IDRWB&I6KRG2T*3G!L0%EJ(\?Q[0S3W%HM3-\]7RU8*5.:DWL.1)EE
MF/]Z2U*V7UK0>N[X3'>)U!WV:E'@'7D@\FMQSU7+;K+$-".YH"P'G&R7U@V\
M7B-7 TS$OY3L1><=Z%(VC/W0C8_QTG(T(Y*22.H46#T>R9JDJ<ZD>/RLDUK-
MG!K8?7_._MX4KXK98$'6+/V/QC)96G,+Q&2+RU1^9OL/I"YHIO-%+!7F%^RK
MV%E@@:@4DF4U6#'(:%X]\5,M1 < O1< J :@8P%N#3#*V14S4]8MEGBUX&P/
MN(Y6V?2+T<:@534TUW_C@^1JE"J<7+VG3R0&6 @BQ07(U;IY?4LDIJEX R[!
MUX=;\/K5&_ *T!Q\25@I<!Z+A2W5S!IO1_4L;ZM9T NSW)+H"KCP B 'P1'X
M^GBX<PBW5;U-T:@I&IE\[A%%@V\W&R&Y6D[?)S*[36;79/:.R#PF4X6>&;3^
MPAY7< [#<&$_=M481B'HS6 3=4#-:ZAYD]0^$2&NP4T4E5F98JEHQD1]^1'%
MU?>4*]X9XY+^-AUC[*L)_ ZO2^@'KM^C/Q86AD$XSG_6\)\=+:U9J6,,9X.I
MD3_W>OR&03"<.>/L_(:=/\GN"V.J:W<![G"4J#'^RRCZ[F=)"^5Z$GR[(]F&
M\*E%%C1S!6=>OO,F\_RDY3L?*.?[85_>89!2=SXN;]@0"Z>)E3RGLN3$J/K/
M=DLC\G?B0J=U1.?,\L*.V\*3!*[A!VO3]YV>PF-1@>./2PQ;5X1HDMR:944I
M"0</;"OWN!;[[U1NC1*ZYU:Y=3HX;77_J_+0H?PP</LJ#Z.4UWDOJ-S:&)SV
ML4]$G3H2EL;@8U9P]DBTMN(H<5LS@OZYQ6W-!P:GB1L,/7@>H+ZXHU'N"^*V
M_@6/,;";>I-X]Q2E9:QL&:Q9KC0HJZ,CS2_O.8O4?GB4ZJU'P?#,JJ/6E)!S
M^NY7YSCP!<_OK^O1J,X?=,BPM38T;6TG2(PZ![=SG]Q0ZTCHM+,;&CF\(03[
MZ@ZCO*"_^]F= [N^+=UAOJ.Y "G9*I1S%2@XKRX@54.RPISA-TRJ&X%Y3=2E
MC7 =H,:WC,GGAKX6--? U1]02P,$%     @ 7'=X5#"!B3EM!   MQ0  !D
M  !X;"]W;W)K<VAE971S+W-H965T-3,N>&ULM5C+;MLX%/T5PNBB!>I()"4_
M L= XDQGNLA,D*0SBV(6M$1;0B720U)QVJ\?ZA'1D2C:19--K,>]]QQ>'1W=
M<+'GXIM,*%7@*<^8O!@E2NW./4]&"<V)/.,[RO2=#1<Y4?I4;#VY$Y3$55*>
M><CW)UY.4C9:+JIKMV*YX(7*4D9O!9!%GA/Q_8IF?'\Q@J/G"W?I-E'E!6^Y
MV)$MO:?JR^Y6Z#.OK1*G.64RY0P(NKD87<+S%0[+A"KB[Y3NY<$Q*)>RYOQ;
M>?(YOACY)2.:T4B5)8C^>:0KFF5E)<WCOZ;HJ,4L$P^/GZM_JA:O%[,FDJYX
M]D\:J^1B-!N!F&Y(D:D[OO^#-@NJ"$8\D]5?L*]C0QT<%5+QO$G6#/*4U;_D
MJ6G$00*<#"2@)@%U$X*!!-PDX&JA-;-J6==$D>5"\#T09;2N5AY4O:FR]6I2
M5C[&>R7TW53GJ>5GI@C;INN, B(E5?(C8%H\[Z^I(FDF/X Q^')_#=Z_^P#>
M@92!AX07DK!8+CREX<LB7M1 7=50:  *(G##F4HD^(W%-'Y9P-.\6_+HF?P5
M<E:\IM$9P/ C0#Z"%D*KT]-]!QW<]A)7]?!0+V/*5+I)2=G-M-M8\/5R+970
MNOW7@16T6$&%%0Q@_2ZXE(#DO&#*]BCJ[+#*+E_EQR6<^).%]WC8GGY0$,YF
M;= +8F%++'02NXRB(B\RHFA<TA,J_4'*%]9&LJXT.< ?0^3/.RPM48'OAW::
MDY;FQ$WS@!J@3]H5);51G/3 X:S;QGX,PH&=WK2E-W5*Z5.A"D%?-/"9Y6DZ
MFK5 ,V<?M/21;=VS_KK#@9;/6ZCY,2AL@YI;H ;:!WUC:_XQL,!J47X/;4CQ
M\,!#H1/L(:'Z$[I15%@A80_2'T!$!A$Y$6\+$27ZZQ6#!QHEC&=\^QU\O:'Y
MF@J7+*#Q,OCV9@:-F\%?L[,F_:5(YK#S(EJB4(@F \TVC@9?S]*@S=/@/.PR
MM87-IP-O&#2N!MVVMJHF!BK '<TJCC))=_(D91AK@FYO>A5E&'^";H,ZJHR^
M4_G=9EO,#/M#[Z"Q,^CVLY^21=_D>BS[(>-AFL@X(7([X8,@L1[]Q;=35(",
MYR'XYBI QN^0V^^.J:!)=_77$A+,AKIK;!+A5Q-!4\I)LA\R#L(AEL9>D=M>
M5_R1,L(4^),KH#A8\7Q'%3U)$<8F4?CVBC!.A]Q.=U01_:FLUVS+<!<,?"V0
ML4<T?3U%3(^3[(>,AUD:6T5N6[W5_)@ZZ<N C".B^9LK !MCPVYC.Z8 W!_U
M8/<[;(D)!WJ+C35B]SCX,PK _>%0/]XN2TO0T(B,C:=BMZ?^I?38>HH \,$_
MP&\_-&+C:OC7AD;<'P>[;Y<E9.B;@(T1XM>;%YM2H8MC/V3<(^D=; 'I^6];
M[8Q)$)6]J3=4VJOM[MMEM>?4N7X%SU?U'IHI4V_IW1"Q39D$&=WHDO[95#,2
M]2Y9?:+XKMIH6G.EA]#J,*%Z^!!E@+Z_X5P]GY0 [5[E\G]02P,$%     @
M7'=X5%"Z2LY\ @  V@8  !D   !X;"]W;W)K<VAE971S+W-H965T-30N>&UL
ME97?;YLP$,?_%0OUH96V$"! 6A&D-M&T/4R+FG5]F/;@P"58-79F7YKVOY]M
M*$H3$G4OX!_WO?O<81_93JHG70$@>:FYT!.O0MS<^+XN*JBI'L@-"+.SDJJF
M:*9J[>N- EHZ4<W]<#A,_)HRX>696YNK/)-;Y$S 7!&]K6NJ7N^ R]W$"[RW
MA7NVKM N^'FVH6M8 #YLYLK,_,Y+R6H0FDE!%*PFWFUP,TVMO3/XQ6"G]\;$
M9K*4\LE.OI43;VB!@$.!U@,UKV>8 N?6D<'XV_KTNI!6N#]^\_[%Y6YR65(-
M4\D?68G5Q!M[I(05W7*\E[NOT.836W^%Y-H]R:ZQC6./%%N-LF[%AJ!FHGG3
ME[8.>X)@=$(0MH+PHX*H%40NT8;,I36C2/-,R1U1UMIXLP-7&Z<VV3!AO^("
ME=EE1H?Y;5&H+92$,[IDG"$#32YG@)1Q?44^DX?%C%Q>7)$+P@3Y6<FMIJ+4
MF8\FMO7@%VV<NR9.>"+.#(H!B8)/)!R&08]\^G'Y\+W<-QEW:8==VJ'S%_U'
MVK]OEQJ5.5=_S@2(N@"1"S Z$6!!.576JRD7*61M;IVFV!Q]3A'*OA(V+F/G
MTEZ_YSP<QZ/,?]XO5(]1%(X[HW>THXYV=);VD2I%!;[V037*9"]>>GV =&P2
M!&$_4=P1Q6>)YDJN0-M>07E;0Z'-U61BW0<9'Q&8RAU0]MC$:3]ETE$F9RE_
M8 6JCR<YBI6DR0'/L<UU<N([IAU/>I:GYUCWT:5'1R@:7Q^>LQZC)(D/^/R]
MSF.[_G>JUDQHPF%E9,-!:O2JZ:3-!.7&-:.E1-/:W+ R/Q]0UL#LKZ3$MXGM
M;]WO+/\'4$L#!!0    ( %QW>%3:0?7W= (  &4&   9    >&PO=V]R:W-H
M965T<R]S:&5E=#4U+GAM;)5576_3,!3]*U8TQ"9!\]5V,*61^C$T'B95&X,'
MQ(.;W#;6'#O83KO]>ZZ=-)31AO&2V,X]YYY[;9\D.ZD>=0%@R%/)A9YXA3'5
ME>_KK("2ZH&L0."7M50E-3A5&U]7"FCN0"7WHR 8^R5EPDL3M[94:2)KPYF
MI2*Z+DNJGF? Y6[BA=Y^X8YM"F,7_#2IZ ;NP3Q42X4SOV/)60E",RF(@O7$
MFX97\[&-=P%?&>STP9C82E92/MK)YWSB!580<,B,9:#XVL(<.+=$*.-GR^EU
M*2WP<+QG_^1JQUI65,-<\F\L-\7$^^"1'-:TYN9.[FZ@K6=D^3+)M7N271,[
M^NB1K-9&EBT8%91,-&_ZU/;A !".3P"B%A"]! Q/ .(6$+M"&V6NK 4U-$V4
MW!%EHY'-#EQO'!JK8<+NXKU1^)4ASJ1W8)@"W!9#--TRL=&DXE20\P48RKB^
M(._)P_V"G)]=D#/"!/E2R%I3D>O$-YC?LOA9FVO6Y(I.Y HC<BN%*32Y%CGD
M?Q+X*+Q3'^W5SZ)>Q@5D Q*'[T@41.$10?/7PX,>.7'7S-CQQ?_9S._3E38*
M3^R/GB3#+LG0)1F>2')=5EP^@\)38+("DY ,FZK8JG;WH@*5H0"\@<<VJ)]Z
M% R"X$V/QE&G<?0:C?!6GQ)'T(":"H[)[&<?_T/EN%,Y[N69EK+&K9+KXZT\
M)JPA'#E":Y#;- ZCQ-\>GKF_8Z++H(MIE/H'-[8$M7%&9IN%@IKCWZUV7CEU
M%O%B?88>VEC>;YK&@&^IVC"A"8<U4@:#2U2D&E-K)D96SA=6TJ#+N&&!_P%0
M-@"_KZ4T^XE-T/U9TE]02P,$%     @ 7'=X5%<XC/%@!   D!(  !D   !X
M;"]W;W)K<VAE971S+W-H965T-38N>&ULK5A=;]LV%'WN?@4A=$ +;)9(6792
MV 82N\8Z+("1K-M#L0=:HFRBDNB1E!T#^_&[E&3):R1*'9*'6%_G\.K<RW-)
MS4Y"?E5[QC1Z3I-,S9V]UH</KJO"/4NI&HD#R^!.+&1*-9S*G:L.DM&H *6)
M2SQOXJ:49\YB5ES;R,5,Y#KA&=M(I/(TI?)\SQ)QFCO8N5QXY+N]-A?<Q>Q
M=^R)Z<^'C80SMV:)>,HRQ46&)(OGSAW^L":W!E \\0=G)W5UC,RK;(7X:DX^
M17/',Q&QA(7:4%#X.;(E2Q+#!''\79$Z]9@&>'U\85\7+P\OLZ6*+47R)X_T
M?N[<."AB,<T3_2A.O[#JA0+#%XI$%?_1J7QV$C@HS)46:06&"%*>E;_TN1+B
M"H#''0!2 <BW@$D'P*\ _M 1QA5@_"W [P $%2 8.L*D DP*[4NQ"J575-/%
M3(H3DN9I8#,'1;H*- C,,U-93UK"70XXO;@7$A \VRGT;L4TY8EZCWY&GY]6
MZ-W;]^@MXAGZ?2]R1;-(S5P-0QJ@&U;T]R4]Z:#_-4]&R,,_(>(1W )?VN$K
M%HZ0WPU?#1B==,,_VN$/]'R)W6M!K_O0<H2PWP9W0?(Z4Z3.%"GXQAU\C^PH
MDB-D"BTEB[A&:QKRA.LS^O+ TBV3?UD&\>M!_&(0O[\<OMQME98P\VV\XYIW
M; W^@3[S-$_1]L*/0GJ ^/6Y3=B2*RBXC#4>%]B#OYE[; DAJ$,(>D+0N31R
M152SME+L@Y?I_.'-&TBH;]%D4@<TL3)^RC233&DD.P*RPR>CP/O1$L:T#F-J
MY5FQF$FH*!3SC&9AD1NA=-MD7T]?)(:,@_:TW-3#WUB'WS 9LDQ#%T,Q8PB:
M39[E"L*I2Z4MDJ6=U.O1YK8.[G9H<")&+.$[ODT8M,-0Y)E6T%I#QH\4KK7%
M:.>^"4:>-4CL-1[N6:D^7@+CV1'"%;)M5BTKDNOL!9VS"E\U$/Q_-)+T!'T*
M*IS3I#4:.VO@]:G3^":V&V='@%#N'/IFA'9"1*I'.OL(D]Y@&__%OI7JGB8P
M"2'27"L-/1?JOS4@_T4NNQ+96#2V>_1=!%T%5GLT&6;32_S2IP/<65"-3V.[
MT_8W.O0/>H#LF88RH/?AQI#QY%6['VX\%MM-]GNU7>&75CL-NJ1MO!;;?7&0
MM!L)6P?T"'-WD+J-E^+;5U67-/Y'[/YW3Q57J-Q:F0YRI. ZI0FU=]8>/CR:
M!K;I3!IS)'8;&R3XFD5,0F6L<UAC#Q:>7"T<R>L*W[@5Z7.K[Q7>SD=&Q"Y\
M8V;$;F:;S0;])F@V2,G&FDCPNDHVUD/LJSFH"UA7I&99T;91J=#_67F1+JLE
MC2T1NRWUKHE[\6>$JR4QL>G0.!2Q.U3OHK@'CWLZ,6GLBMC79T7UQ$+N."P,
MVG:^%;XG)^[5WMQ\JX%]Q(YG"B4L!I@'3N,@67[^*$^T.!3;]:W0L/DO#O<P
MO9@T#\#]6 A].3%? .J/4(M_ 5!+ P04    " !<=WA4B*EU?V$#  "_#
M&0   'AL+W=O<FMS:&5E=',O<VAE970U-RYX;6RU5\%NVS@0_15"P (M4$0B
M8SMI81M(FA3;0[I!TW8/10^T-+:(B*1*4G:RV(_?(>5(7D2AW0+.(19'G#=O
MQN2;\72CS;TM 1QYD)6RLZ1TKGZ7IC8O07)[HFM0^&:IC>0.EV:5VMH +X*3
MK%*699-4<J&2^338;LU\JAM7"06WAMA&2FX>+Z'2FUE"DR?#9[$JG3>D\VG-
M5W '[FM]:W"5=BB%D*"LT(H86,Z2"_KND@6'L..;@(W=>28^E876]W[QL9@E
MF6<$%>3.0W#\6,-[J"J/A#Q^;D&3+J9WW'U^0O\0DL=D%MS">UW]+0I7SI+S
MA!2PY$WE/NO-G[!-:.SQ<EW9\)]LMGNSA.2-=5ING9&!%*K]Y _;0NPXL-$+
M#FSKP +O-E!@><4=GT^-WA#C=R.:?PBI!F\D)Y3_5NZ<P;<"_=S\SNG\G@B5
M@_+E(77%E7U#!LWDU14X+BK[>IHZC.T1TGP;Y[*-PUZ(0QFYT<J5EERK HK_
M Z1(NF/.GIA?LBCB%>0GY)2^(2QC]-;S*[D!&T$^[6IR&I!/?Z4FY/O%PCJ#
MI^A'),2H"S$*(48OA/C4R 48HI?$#@;[E_B,ALK<XDX"KK]RZSF;INL!*N..
MRCA*I<WVK]I?$LSR!CRS6(Z3#GARK#*>=2'.HMRO'\#DPB*V$3D0;@DG-9HP
M(DJ*+^^2"X/WQ=RCP*UYU01CKJ5$16A+SQTIN OVE>'*#14]SH)FV4F6_1')
MY[S+YSR*] 6,]$3XAIMBB$C<G6;D$;B)W8&W'9.WOW$J\%S>""5D(P\Y*#3K
M12@[UE&A.TI'HRE] ^N$6OD#(O1@=?< L+W5I:PGPWZSOOSAX/KV@D:/IFBT
MES0:U[0#ZAL'&.^O;R]J-*YJ+*,C<OVS$>Z1?.SR]J)Z4&5[C:-'$SG:JQR-
M"\Q.MP@]CO#&E=J(?Z @KX3:6H>[\MGS?H$3&_X-=PW:2Q6-B\US4FN<#?BB
M H+#8JNE>]F=/V,WH70R?J&ET5Z]:%R^#OCZ\:[]<NMCO:*QHRD:ZQ6-Q05I
M;[O8XQ_K%^G.3"G!K,+D;+%U-LJUXV5G[:;SBW8F[;>WH_T--RN!V5>P1-?L
MY ROKFFGY7;A=!TFU(5V..^&QQ)_88#Q&_#]4FOWM/ !NM\L\_\ 4$L#!!0
M   ( %QW>%2G)U%MK@,  *8-   9    >&PO=V]R:W-H965T<R]S:&5E=#4X
M+GAM;+U736_;.!#]*X2P"[1 *XGRA^S"-I X*;:'H$'2;@_%'FAI;!.A1)6D
M[!C8'[\DI4BV(S,NLLC%)BG.FWDSPQERLN7B0:X!%'K,6"ZGWEJIXE,0R&0-
M&9$^+R#77Y9<9$3IJ5@%LA! 4BN4L2 *PV&0$9I[LXE=NQ6S"2\5HSG<"B3+
M+"-B=PF,;Z<>]IX6[NAJK<Q",)L49 7WH+X7MT+/@@8EI1GDDO(<"5A.O0O\
M:8Y'1L#N^)O"5NZ-D:&RX/S!3+ZD4R\T%@&#1!D(HO\V, ?&#)*VXU<-ZC4Z
MC>#^^ G]LR6OR2R(A#EG/VBJUE-OY*$4EJ1DZHYO_X*:T,#@)9Q)^XNV]=[0
M0TDI%<]J86U!1O/JGSS6CM@3B(8G!*):(#H2P/T3 KU:H&>)5I996E=$D=E$
M\"T29K=&,P/K&RNMV=#<A/%>"?V5:CDUNU<\>4 T3R W_D0%([G\@"ZDCFMA
M'"U1*2'5.Q"W<[0AK"1VE!"6E(Q4N]Y=@2*4R??H(_H#!4BNB0 Y"90VTJ@*
MDMJ@R\J@Z(1!.$(W/%=KB:[S%-)#@$"S:RA&3Q0O(R?B%20^ZN$/* HCW&'0
M_'SQT&%.K_%XS^+UG1[_6COWYPUD"Q#_.(#[#7#? O=. '?%K U6QE-@Z.?%
M0BJASXY+X:!1.' R^08B0WR)R):(M"O2;G$<HAT0(1V6#!M+ADZH*,1]=/VK
MI&J'OC2Y?*MS^1P'QXV6^&T</&H4CIRTKA\+7>VTHOKH*>WP+C^[48:5FY'V
M=U:=K*B/4K+K.IQS-U3\8L3&#;7Q>=0VW%00IB/7Q<P-,@C]0?AG%PVW7!_[
M\;'< 0L<MN4S=$+=4?GP<2D =#+H\(!42! %G77/C83]J)O+"W*A/W9SV6L%
MV(ET13<TA3Q%.PJL\T"_ !#ZX0D*ORUW2"%J*42O+03H7_3;)1BWQ1WWWJ9&
MX+;LX[Z3\P][5=&JR :$OGJA):'"*@53G5>"Y$KW9VU(RADSE:  4?7G]YU!
MKM3%5IVY!FYF [^O.^?F(*3/=_5\/&YV'9)I6PI^94]Y0?Z,IH+;KH)?W59T
M-MWI0R^H+6;WQJGH>T[5>6G5=A[\1JT'M[T'NVO]_YY6HV<)@T,_BH_SZOFV
ML1_'1WD5[-UX,Q K^Q"0*.%EKJJ;8;/:/#8N[!7[:/W2/$+L3;J%J5XP-T2L
MJ'8W@Z6&#/U8)YZH'@751/'"WJL77.E;NAVN]4,*A-F@OR\Y5T\3HZ!YFLW^
M U!+ P04    " !<=WA46L?+"I,"  #5!@  &0   'AL+W=O<FMS:&5E=',O
M<VAE970U.2YX;6RU5<ENVS 0_96!D$,")-'FI0ED 5[2-@<#0=RTAZ '6AI9
M1"A2)>G8_?N2E*PZBYU>>I&XS+QY[Y$:)1LAGU2)J&%;,:Y&7JEU?>W[*BNQ
M(NI2U,C-3B%D1;29RI6O:HDD=TD5\Z,@&/@5H=Q+$[=V)]-$K#6C'.\DJ'55
M$?E[@DQL1E[H[1;NZ:K4=L%/DYJL<('ZH;Z39N9W*#FMD"LJ.$@L1MXXO)X.
M;;P+^$YQH_;&8)4LA7BRD]M\Y 66$#+,M$4@YO6,4V3, AD:OUI,KRMI$_?'
M._3/3KO1LB0*IX+]H+DN1]XG#W(LR)KI>['YBJV>OL7+!%/N"9LV-O @6RLM
MJC;9,*@H;]YDV_JPEQ .#B1$;4+T.J%W("%N$V(GM&'F9,V()FDBQ0:DC39H
M=N"\<=E&#>7V%!=:FEUJ\G2ZT")[ LHSY-9/J!GAZAP6)9%X8?W)(1.5N3.*
M.-MQ:\<(IS/4A#)U!A?PL)C!Z<D9G!@<^%:*M2(\5XFO#3];Q<]:+I.&2W2
M2QC!7'!=*KCA.>8O 7PCK%,7[=1-HJ.(,\PN(0[/(0JB\!U"TW]/#X[0B3NS
M8X<7'S+[D*N/XZ72TESIGT>J]+HJ/5>E=Z#*+3?8")IL88D<"ZJAD*("]<&9
MOG=@3:6^JV0;PG,:#?J)_[SOX=N8\"KN8EY(Z'<2^D<E?#&\)6%@[A&,<W/M
MJ;7'7=";]@(^SK%:HCQFV*"K-OB/QS+LJ@R/:OKHDWK/_N%;:TU[?N7_VZ"K
MO9B&J[_7(2J4*]<XE>&QYKKYG+K5KC>/74MZM3XQ/;MIL7]AFH8_)W)%N0*&
MA8$,+H>&D6R::#/1HG9]:"FTZ6IN6)K_#DH;8/8+(?1N8@MT?[+T#U!+ P04
M    " !<=WA4DO'\-^X'   K*@  &0   'AL+W=O<FMS:&5E=',O<VAE970V
M,"YX;6RU6MMNVS@0_17"Z$,+-+%XD^T@"1 GZ6X?N@V27AZ"/C V;0O5Q:7H
M7!;[\4M*LBA;)*6D:1Y:6^(,SU##<S1C'C]DXF>^XER"QR1.\Y/!2LKUT7"8
MSU8\8?EAMN:INK/(1,*D^BJ6PWPM.)L71DD\1$$0#A,6I8/3X^+:E3@]SC8R
MCE)^)4"^21(FGJ8\SAY.!G"PO7 =+5=27QB>'J_9DM]P^75])=2W8>UE'B4\
MS:,L!8(O3@9G\.@B+ R*$=\B_I W/@,=REV6_=1?/LY/!H%&Q&,^D]H%4__=
M\W,>Q]J3PO&K<CJHY]2&S<];[Q^*X%4P=RSGYUG\/9K+U<E@/ !SOF";6%YG
M#W_S*B"J_<VR."_^!0_5V&  9IM<9DEEK! D45K^SQZKA6@84.PP0)4!VC-
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
M\3X5#_3PE50!C0M_:YIR]0L.E:UC@?6>"YI58,D@2_+R'S]7B3@!0+\'@"H
M:@.\'H!; =RA *\">"HS92@J#R$6>#%C] !882V]%1<JF0HMPT_R8MT?!9-/
M$XD3BV_YFF8$"/Q,^">PI-F.YB07'- 8)/4SL"(YB1,!/H1$X"3E'\$5^/$8
M@@_O/H)WTA!\W](]QWG$9[:0M KG]KJB<%M20#T4( )W-!=;#C[G$8G.'=@R
MGCHH= SJ%AD]AF0] B[\!)"#H(;0<CC<T<##P7 8&*)QZR5RE3^WQ]]RSYA<
M$O#K9L4%DQOE'X-3KW;J*:=>C],O)"(,I[K5*H%C!2QDXVF!_)G]=)J_KLD5
M@AZLK<XHC6M*8R.E1X$%T1$J8?[);&/8(M0U*5*O8^/7;'QS@BB3FI'K^/B=
MR5"+3M?BRIOH^00UG\#(YW2C2F%0):$C%W2F#J8M=ET3N7H!TO.;U/PFQBH-
M24PDJ6A8F4YKK]-+RW2JB<*9M"M58^5-7'VHT&E$T[FL5"O<V7Q^NSIT1J[?
MP^E$R.&E!5LASW/5)M6U@>.>FH"H(86&5VU4E8B6(M(5Y=AIL]28N7[/5H>-
MPD)W(,WC2:?EZ&IDSPG:6J0U&[O3'I*-8D.S9'^.8Z+>DA1/UE>!9B>N.W*=
M][HS\34@',$V\#R01N>A6>BK30VXW$5[0=F+.2"S,P1'3D] %P+#5X"NUP6>
M9Z(Y8Z!O%,VS[3%(.&%S7D#S@5'I 4@IY[*J98M03:1-<M"I6<_QVH6M,?)[
MCC78G!MP,J@:?MV1;$68,?CFV(#3-TXL:L0?F<7_+]F-R;Y+UFN2;\KTKC%C
M+S+#!\RTZH:ZBB\;,T>?.M1(/C)+OCJ&AB0.-8*-T%LGKE%99%;92Q+G=E]G
M>BH.-4**S%+V7:K-6IY#LI]Y=7ZO,W_?JC7RA\SZ\? 'SG9_AF!94ABR?(V@
MH+<6%-0("C(+RO])6U<IIDZ[/;!/NM:,L(WJ_F5)T'TNREZOOEM_8;A1?77K
M_BV\#LOO!(V;\K/%'6:;).<@);%TZ8P"R8B57P+*@: [U1NOJ)"=MKK<$BP%
MJ3"0SV-*Q7%03%!_CUG\!U!+ P04    " !<=WA4UCHC!/@#  "A#@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970V,BYX;6R-EUUOVS84AO\*(11%"Z21*%FR
MU=D&4AO; FQMD*3MQ; +6CZVB4BB1])V\N]W*#NR(E*J;VQ]G(^'A^1YQ?%!
MR">U =#DN<A+-?$V6F\_^[[*-E P=2VV4.*;E9 %TW@KU[[:2F#+RJG(_3 (
M$K]@O/2FX^K9G9R.Q4[GO(0[2=2N*)A\^0*Y.$P\ZKT^N.?KC38/_.EXR];P
M /K[]D[BG5]'6?("2L5%222L)MX-_3RCJ7&H+'YP.*C&-3%#60CQ9&YNEQ,O
M,$200Z9-"(9_>YA!GIM(R/'?*:A7YS2.S>O7Z+]7@\?!+)B"F<A_\J7>3+R1
M1Y:P8KM<WXO#GW :4&SB92)7U2\YG&P#CV0[I45Q<D:"@I?'?_9\*D3#@0XZ
M',*30WBI0W1RB*J!'LFJ8<V99M.Q% <BC35&,Q=5;2IO' TOS30^:(EO.?KI
MZ6V9B0*(9L^@KL@<5B E+,T]84J!5H252Y)SMN YUQP4^3 'S7BN/I)/Y/O#
MG'QX]Y&\([PDCQNQ4VBMQKY&,A/?STX47XX480?%'+)K$M$K$@8A=;C/+G</
MWKK[6(^Z*&%=E+"*%W7&L\OPS\U":8FK[M^>!%&=(*H2#'Z5X!$3W%0)KLBW
M+4BF>;DF?PFER(Q)^8+[],#DTDP-3I/2/',5]Y@LKI*9?;N?TG28C/U]LX2V
M45!;O!G$H![$H'<0N(UPDY2DQ&8C:O8<V<&Y!([1D@9 $@Y:D+9-G$1NS+C&
MC']1:^QO&6>F:[BP8BME%+1KY[()W5A)C97T8MV6>RBUD"_8#!7(O;MFB95X
M2(,6G,LF=<,-:[CA9>M3 E+NP(4VM-):LVF;#(9NL%$--NH%^XF;@I6Z+IH+
M;&2#A2TPVR2B;K"T!DM[P1ZTR)X(]E+45U6M-0+/YMJ)F-I3EK;7G,.F"Y(&
MYVX?]&)^TQN0J)V9W.'L-G&=33MPK/M1B]-E-!IU@#9DB?:"WK]GQ?:W.<EP
M%7)-LD8S=))2"R(-:)O4-AHD'4V0GK6"AA>4M*F01C'[-O4IX)L5&K=WM<,H
M2@<=L&?=H?W"\X<TTK*T]<W)&=G=.*7#-JAM%251W$%Z%A?:KRX_6+X[[B.6
MX[<F*S/G3J*V8GP:1E&;T6&5Q!U-DIZ5A?9+RU=4ODMK:4M(3$?MANFP"IM*
M_I;S+#4TN?Q[IKE2+_JHH6?5H/VR46T%Y^@=2F#-D6T3=:@%/<L%[=<+:X8:
MHW>"VLI@@SK4HPOT+!^T7S\>A69Y]2EUZ8)*K>^YF ZLEF=;A6G47OA^X_Q@
M#F]_,[GFI2(YK- MN!ZBOSR>AXXW6FRK(\5":#R@5)<;/$."- ;X?B6$?KTQ
MIY3Z5#K]'U!+ P04    " !<=WA4OH$>^;P"  #!!@  &0   'AL+W=O<FMS
M:&5E=',O<VAE970V,RYX;6R-55%/VS 0_BNGB >0&&F3-&RHK43;34,:&X+!
M'A /;G)M+!P[L]T6_OW.3IJ5TE:\-#[GOL_??>=>^BNEGTV!:.&E%-(,@L+:
MZB(,359@R<R9JE#2FYG2);,4ZGEH*HTL]Z!2A%&GDX8EXS(8]OW>C1[VU<(*
M+O%&@UF4)=.O(Q1J-0BZP7KCEL\+ZS;"8;]B<[Q#>U_=:(K"EB7G)4K#E02-
MLT%PV;T8IR[?)SQP7)F--;A*IDH]N^ J'P0=)P@%9M8Q,'HL<8Q"."*2\;?A
M#-HC'7!SO6;_YFNG6J;,X%B)/SRWQ2#X'$".,[80]E:MOF-33\_Q94H8_PNK
M)K<30+8P5I4-F!247-9/]M+XL 'HIGL 40.(M@')'D#< &)?:*W,ES5AE@W[
M6JU NVQB<POOC4=3-5RZ+MY936\YX>SP2F:J1+#L!<TI/#"Q8+6]@OK+9(9
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
MB3L;(0NJ<2JWKJHDT,R""NX&GC=V"\I*)Y[:M0<93\5.<U;"@R1J5Q14_E@
M%X>9XSO'A4>VS;59<.-I1;>P OU4/4B<N2U+Q@HH%1,ED;"9.7/_+AD;>VOP
MS."@.F-B(ED+\6(FG[.9XQE!P"'5AH'B;P]+X-P0H8SO#:?3NC3 [OC(_M'&
MCK&LJ8*EX%]8IO.9<^N0##9TQ_6C.'R")IX;PY<*KNR7'!I;SR'I3FE1-&!4
M4+"R_M/7)@\=@#\^ P@:0' *B,X P@80G@(F9P!1 XAL9NI0;!X2JFD\E>)
MI+%&-C.PR;1H#)^5INPK+7&7(4['*RW2%ZQ?M9-ICODCE11;20MRF8"FC*LK
M\HX\K1)R>7%%+HA+5$XE*,)*\E0RK:YQ$<?WC',LHYJZ&D49:C=M!"QJ <$9
M 7Y [D6I<T4^E!ED/03),$'@10,,+N:C34IP3,HB&*1,(!V1T+\F@1?X/8J6
M?P_W^@+Z;^]OH@G;$H>6+_S7$G^=KY66>/.^#7B)6B^1]1*=\;(418'W6)TX
MR\@E'H_ZT%SUG8Z:=6Q938_:QYBR?3?9?[1(?K>(O"BZC8+6[DU(-VU(-X,A
M/5.^ R(V)#T36U]M:\K;CI8P&/G]0L:MD/&@D/D>)/9@TJD@2P>5V:QG@G,J
M%:E UA7H*T!2NYYT!$]&[Z,3P6ZGPQ0@M[93*W2_*W5]K]K5]C&8VQYXLK[P
M[Y9U3_]%4[\P]U1N6:D(APU2>J,)9E+67;N>:%'9/K86&KNB'>;XT($T!KB_
M$4(?)\9!^W3&/P%02P,$%     @ 7'=X5,R9%4GQ!    !H  !D   !X;"]W
M;W)K<VAE971S+W-H965T-C@N>&ULM5E;;^(X%/XK%IJ59J39$MOD5E&DEK;3
M@KJJRG;W8;0/!@Q$36+6-J4K[8]?Y]*$),:D;'EI$W.^<_M\SG&2_I;Q%[&B
M5(*W*(S%16<EY?J\VQ6S%8V(.&-K&JM?%HQ'1*I;ONR*-:=DGH*BL(LLR^E&
M)(@[@WZZ]L@'?;:181#31P[$)HH(_^>*AFQ[T8&=]X6G8+F2R4)WT%^3)9U0
M^;Q^Y.JN6VB9!Q&-1<!BP.GBHG,)S\<X!:02?P1T*W:N01+*E+&7Y.9^?M&Q
M$H]H2&<R44'4OU<ZI&&8:%)^_)TK[10V$^#N];OVVS1X%<R4"#IDX9_!7*XN
M.EX'S.F";$+YQ+9W- _(3O3-6"C2OV";RUH=,-L(R:(<K#R(@CC[3][R1.P
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
M9(1';P.?DI>M*@>LZ7A'7]@C4T^[!Z%[5FLE3C*6RX3G2+#-9'2%+U=1B:\
M?R1L+P_:J,SDF?,O96<13T9V&1!+V5J5%JC^>64W+$U+0SJ,?QJ;H]9E23QL
MOUF_JW+7N3Q3R6YX^F<2J^UD%(Y0S#:T2-4GOI^S)A^OM+?FJ:S^HWV#M4=H
M74C%LX:L(\B2O/ZE7YMY."!H.S"!- 1B$MP3!*<A.$,);D-PAQ*\AN -)?@-
MP1]*"!I",)00-H1P*"%J")%)\$\)9[\I9P_U@5NQZZ*KJZ0JL1E5=#H6?(]$
MB=?VRD95IQ5?5U:2EROJ40G]--$\-?V]H$(QD7[3RT/J,I2(;Y!>KX*6%2_1
M69'3(DX4B\_1V8PIFJ3R''U 3X\S=/;N'+U#%I);JLDHR=%3GBCY7@_J]N<M
M+R3-8SFVE ZT=&>MFZ"NZZ#(B: <])'G:BO1;1ZS&. O^_F8]!BP] RUTT3>
MINF:]%J<L?4%<O![1&R"@8!N^NF/;*?I]DGZK)^^+/)>^FT__2,5O<'?#<_=
M!NCWPW.'Z//AN4/TQ?#<(?KRO^F^^N6I.RI#IUVM3F7/^1]6ZU]7SU()_<KZ
MN\>QVSIV*\?N"<>_Z7>[I"D#%W--]2IJ^09_G6*,B3.V7@]7"("R?2<X1LVZ
MJ,@AWC'HM@L*'1L?@^ZZH"#PC:#N 9!CV\>@>1?DD="(:0&E1UPCO647Y41.
MZ!^C5@#*]J(?'H\D]%H)O5X)[P67$NT$WR0*4K%F^P=.71>'AH@ R,&FAEV0
MT]40 .$P,C3L@H@3$$-#R)UK6)H#EDAD"+T LHO,*5AV0=@CIK\5@"(1B6 )
M_59"_Z>K\"S5,I[K%^R:9PS2T>\4SX? ,6;_I@N*L#$;,\ 0P=@U=(10Q#8J
M^@Y X<[4W@.HT#>J:PZ9"CUC82\ 5!09E;,$0"YVC;E: 2C/=VQ8RJ"5,NC=
MR3M2(KV+(]W(]#FC^J :MH&'K;^PMW2NJ4S6Z$Q_E\4\3:F0E;_*T3E41;6U
MX#!I^\(.[*,_8\N]Z9+L"P,S PT3LZI@E*','8PR]P<0A8VXYH,\+F!;1O$M
M052GKD#4P>YVI'/4ZASUZCQ+TD*__O^%TM&O*-TE:8ZQ!\Y RQVI890I-8PR
MI091':D'>5S MDRI051':A#5D=HZ.,9E3+Q4-PU2;PI%KNIOQ':TO<RXJL[P
MQO@UOEQ@8'R)+U?UL?&'^?KF1'\FOR3Z S)E&^U*QZ:W.U'?1M0=Q7?5(?*9
M*WTHK9I;1F,F2H!^ON%<O75*!^V5T/0[4$L#!!0    ( %QW>%33.DU"$ ,
M "P1   -    >&PO<W1Y;&5S+GAM;-U8;6^;,!#^*XA.4RM-)825A35$VI J
M35JG2NV'?:N<8(@E8S-CNJ2_?CY,R$M]5=</6S:B%/L>WW./[XX:9=KH-:>W
M2TJUMZJX:%)_J77],0B:Q9)6I#F7-14&*:2JB#93509-K2C)&W"J># >C>*@
M(DSXLZEHJZM*-]Y"MD*G?C28/'O[DJ=^&+_W/4N7R9RF_OWIVQ^MU)=O/'L_
M>7=R,KH_NSRTGW; F1\X22]>0'H^PGD-AE''+Z)^AKDC#OKDS*:%%/LY H.)
M3"KJ/1">^AGA;*X8>!6D8GQMS6,P+"27RM.F.$9*");FT<*AG4'=>IZ*":FZ
MV#:"_3OOEQ\ FQD(9)P/ L>^-<RF-=&:*G%E)MWBSO@$\OKQW;HV"DM%UN'X
MPM\Z=#<39"Y53M40)O0WIMF4TP+D*%8NX:YE'0"HM:S,(&>DE()T&C8>_<#0
M+BCGM]#4WXL][E6Q4],15%0,0R.H'UH:.P'^73;+O4L[>A6O5[,'J3^W9CNB
MFT.OT!M%"[;JYJMB$("QAS@[J6N^_L19*2IJ-__B@+,IV?AY2ZG8HXD&K;(P
M!JI\[X$JS1:[EI^*U'=TI3?MM"IPS>-_4/.?S7-)!56$[XHVO7_,67ZUXOX4
M^!N:NW\KAXJ=(J,/QZ^Q/_F.761\_"*CY"@U!OVILW.T[1UL@]6#%XC4_P:O
M*GP;U)NWC&LF^MF2Y3D53\XW0Z_)W+P*[O&;]3DM2,OUW0"F_G9\37/65LFP
MZ@82T:_:CK_"]L)X>'LQL9C(Z8KF63]5Y;P;>F9@HO87.!PB5]WE1C ?B[D1
MP+ XF +,QWIA<?ZG_4S0_5@,TS9Q(A/49X+Z6"\7DG4?+([;)S&7>Z=)$D5Q
MC&4TRYP*,BQO<0Q?-QNF#3RP.!#I]W*-5QOOD.?[ *OI<QV"[13O1&RG>*X!
M<><-/)+$76TL#GA@5<!Z!^*[XT!/N7VB"*J*:<.>8!Q)$@R!7G3W:!PCV8GA
MXZX/]I1$49*X$<#<"J((0^!IQ!%, 6C D"CJSL&#\RC8G%/!]O>1V2]02P,$
M%     @ 7'=X5)>*NQS     $P(   L   !?<F5L<R\N<F5L<YV2N6[#, Q
M?\70GC 'T"&(,V7Q%@3Y 5:B#]@2!8I%G;^OVJ5QD L9>3T\$MP>:4#M.*2V
MBZD8_1!2:5K5N %(MB6/:<Z10J[4+!XUA]) 1-MC0[!:+#Y +AEFM[UD%J=S
MI%>(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5*(Y5;&GC3Y?YV
MX$G1H2)8%II%R=.B':5_'<?VD-/IKV,BM'I;Z/EQ:%0*CMQC)8QQ8K3^-8+)
M#^Q^ %!+ P04    " !<=WA41]VU;4$%  #^+0  #P   'AL+W=O<FMB;V]K
M+GAM;,6:6T_C.!2 _XK5)U9BM\V5BRA2AY:A$M.RE.&U<E.76B1VUG:X_?IQ
MDBDX0SC:E],\E3@F^7(<^3L^SMFS5(\K*1_)2Y8*/>QMC<E/^WV=;%E&]3\R
M9\*>V4B546,/U4-?YXK1M=XR9K*T[P\&<3^C7/3.SW;7NE%]]T :EA@NA6TL
M&^XY>]8?Y\M#\L0U7_&4F]=AK_H[93V2<<$S_L;6P]Z@1_16/E])Q=^D,#1=
M)$JFZ;#GU2?NF3(\^=2\*"'OZ$I7+8:N;JD%&?;B@;W@ABMMJA[5]:EE?&*V
M<WU4&'G)4\/4F!KV7<DBY^*AO(Q]BK[S&%4<=K]U$$_5_PFCW&QXPL8R*3(F
M3!U'Q=(24.@MSW6/")JQ86_7A5"Q)A-A;)#(5-27LGW+)[6WGJ[KIS86UXFA
M.N7VA)JN*W \R(OY;#&_GHY'=Y,Q^3:Z'LTN)F1Q-9G<+1Q 'P#T.P,D!S?4
M@0P R&"/D(L[^_-C,K. \TLROYG<.I A !EV!GDQ_W'C0$8 9-0=Y-5HYD#&
M &3<'>1H<>5 '@&01[B08Z83Q?.RG<@-616:"Z:U W<,P!WCPBV*+*/JM033
M_$%P^V^TG"F31!9VIG0@3P#($US(F14@42QA_(E6-_Z8L ?0C#W Q9J*)]O!
M&I6Y@^F!$D&VR"5_86M"M;9*/22"&1<,DH>';(^IS3G$0WG3K^@@:WC(VA@E
MB2ILX%).JR3JCQ&%7.$AR^*6&:Y8E;YH^F13*$WRE#:2%L@2'K(FODFEY'.)
MY1)!2O"0G; P,GDD7"2VF\U'JV@UX" 5>,@NF(I$9LPFTB_--PPR@(>L@ E5
MHGZOF+)(5#4F6&C:]Y#G_7HH%<L+E6RIMF.IY(.BF9L00P+PD07PG94X^98G
MQ$:-VI>N;5'A0T+PD85PS6S<W%?-!Y<0R!;XMZ#*K@C35SNHNDB-+O,.>T%5
M=W4Q(1WXR#I8%"O-_BO*.9>5BF^ 03+PD64 9FM+W\6$I. C2P'&#%Q,R!0^
MLBF<_(T<W)69I?[+98-$X2.+XE,BUTH(:<-'UD9[1M>*"3G$1W9(2VK7QAA
M'@F0/=*:LK120BH)D%7BYBZM<)!9 F2S?$YB6A'!TA2R58!LH61U,2''!,B.
MJ3.&UNA!3@F0G0*F#@WU!9!3 F2G?%'L(0=C9BA/74Q(+P&R7F!#ARXFY)B@
MR^K4,G(Q(<<$V.L4$#-VJ\Z09D)LS8"81RXFY)D0V3,PYK&+"1DG1#8.C'GB
M8D+6"='7,E]C+JORZ3LFN"72X<IF6954WS$A"X4=KFR6GFNA$+)0B%T# S'=
M!5@(62CLT$)+S[50"%DH[-!"2\^U4 A9*-SO+LDNY6BD<!'DGVA_^R7M<)!U
MHGWOG+0C0L:).ME#>>=T,2'C1/O?3&F/)>2;J)MME98\/0(WX?>VO=(>0D@R
M41<;+8=DU^QB0I*)L"73CCG2NLCRQ@YW!$DFPI;,%]$L2QE_K]SJ0 1))MK+
MELP7@RYS][,02#4QNFH^:E6'Y$)FN11E(;]TN(5W,2'IQ'LLJ1V2,=LPI>S,
M:8^K&=[%A,03HXO'Q;RG:5%7K6B:RN?&7G0,B2=&%D\3<V$Q"IMMO!(C"=ML
M&M&$U!,CJZ>)^5/8E$W:K/+M]\"[F)!Z8F3UM%546Q04@Y]_[45!GS>(?Y.Z
MF)""8F0%@97?<>/%A!04(RMH5_EM&V7(.3&R<^#2K[N:/8*<<U0YIU]UUN=G
M:[;A@JUG]A;:MB<T36X4*7_JCZ7"J/SV85.DZ85MFXMK2=>[SY=WGUZ?_P)0
M2P,$%     @ 7'=X5-MVL'$Q @  B2D  !H   !X;"]?<F5L<R]W;W)K8F]O
M:RYX;6PN<F5L<\W:2VZC0!2%X:U8+""X[HND%6?4DTRC;  YY8=B&T312K+[
MMIR!?5 />A)Q1JA 7/[1!P(>7_*A'??=J>SV?5E\'@^GLJIVX]C_JNNRWN5C
M6^ZZ/I_.1S;=<&S'\W+8UGV[?F^WN9;E,NKA=D;U]'@[<_'ZU>?_F=AM-OMU
M_MVM_QSS:?S'X/JC&][++N>Q6KRVPS:/JZK^/%QWE_JR27?GR=7B^6U5#<]O
MJ:KG#A((DOF#%()T_B"#()L_R"'(YP\*"(KY@QH(:N8/NH>@^_F#'B#H8?Z@
MM$09EP1)$ZP)M$[(=2+P.B'8B4#LA&0G K,3HIT(U$[(=B)P.R'<B4#NA'0G
M KL3XIT(]!;46PCT%M1;"/26R<,V@=Z">@N!WH)Z"X'>@GH+@=Z">@N!WH)Z
M"X'>@GH+@=Z">@N!WHIZ*X'>BGHK@=Z*>BN!WCIY64*@MZ+>2J"WHMY*H+>B
MWDJ@MZ+>2J"WHMY*H+>BWDJ@MZ'>1J"WH=Y&H+>AWD:@MZ'>1J"W35YV$^AM
MJ+<1Z&VHMQ'H;:BW$>AMJ+<1Z&VHMQ'H[:BW$^CMJ+<3Z.VHMQ/H[:BW$^CM
MJ+<3Z.V3CY4$>COJ[01Z.^KM!'H[ZNT$>COJ[01Z!^H=!'H'ZAT$>@?J'01Z
M!^H=!'H'ZAT$>@?J'01ZQ^1G$P*] _4. KT#]0X"O0/U#@*]&]2[^4F]R_AU
MR.7:\[W&Z_\DU>/YW'R]_&7YO1/O%\T%Y_JVHCS]!5!+ P04    " !<=WA4
MI,C#=_H!  "T*   $P   %M#;VYT96YT7U1Y<&5S72YX;6S-VLM.PS 0!=!?
MJ;)%C>LG#]%N@"VPX =,,J51D]BR72A_CY,"$@@J4)&XFT:M[;D3CW16/;][
M]A0GVZ[MX[Q8I>3/&(O5BCH;2^>ISRM+%SJ;\M?PP+RMUO:!F)C-#*M<GZA/
MTS34*!;GE[2TFS9-KK;YY]BX?EX$:F,QN=AM'++FA?6^;2J;\CI[[.M/*=/7
MA#*?'/?$5>/C4=Y0L"\3AI7O U[/W3Q2"$U-DUL;TK7M\BZV;5E,SRW%<G^)
M+WITRV534>VJ39>/E-$'LG5<$:6N+7=%C_8GIWS#M/OD!^>/9?8%YIVWP?F8
M)Q;H]W%O(QE.3WTN1"$U^U_Q/3&7/OC]:)AV3?4/L_/U/KFP'N<1V?@X_(X_
MSOB]_B_[$"!]2) ^%$@?&J0/ ]+',4@?)R!]G(+TP6<HC:"(RE%(Y2BF<A14
M.8JJ'(55CN(J1X&5H\@J4&05*+(*%%D%BJP"15:!(JM D56@R"I09!4HLDH4
M626*K!)%5HDBJT215:+(*E%DE2BR2A19)8JL"D56A2*K0I%5H<BJ4&15*+(J
M%%D5BJP*15:%(JM&D56CR*I19-4HLFH4636*K!I%5HTBJT:15:/(:E!D-2BR
M&A19#8JL!D56@R*K09'5H,AJ4&0U*+(>_Z>L]\ZM_SA^?):=;?JW?#;^67'Q
M E!+ 0(4 Q0    ( %QW>%0'04UB@0   +$    0              "  0
M  !D;V-0<F]P<R]A<' N>&UL4$L! A0#%     @ 7'=X5*VLD]WO    *P(
M !$              ( !KP   &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%
M  @ 7'=X5)E<G",0!@  G"<  !,              ( !S0$  'AL+W1H96UE
M+W1H96UE,2YX;6Q02P$"% ,4    " !<=WA445-^E#<&  "5&@  &
M        @($."   >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%
M  @ 7'=X5&6^!2,,!P  Y!X  !@              ("!>PX  'AL+W=O<FMS
M:&5E=',O<VAE970R+GAM;%!+ 0(4 Q0    ( %QW>%0[8P33; ,   $.   8
M              " @;T5  !X;"]W;W)K<VAE971S+W-H965T,RYX;6Q02P$"
M% ,4    " !<=WA42VE%+R,%  "[$P  &               @(%?&0  >&PO
M=V]R:W-H965T<R]S:&5E=#0N>&UL4$L! A0#%     @ 7'=X5#_P5^*< @
MB 8  !@              ("!N!X  'AL+W=O<FMS:&5E=',O<VAE970U+GAM
M;%!+ 0(4 Q0    ( %QW>%12&5V:VP8  /(C   8              " @8HA
M  !X;"]W;W)K<VAE971S+W-H965T-BYX;6Q02P$"% ,4    " !<=WA43PR\
M0DT'  "['@  &               @(&;*   >&PO=V]R:W-H965T<R]S:&5E
M=#<N>&UL4$L! A0#%     @ 7'=X5/D,3'%Q#0  RR   !@
M ("!'C   'AL+W=O<FMS:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0    ( %QW
M>%1\BA@C@10  *LY   8              " @<4]  !X;"]W;W)K<VAE971S
M+W-H965T.2YX;6Q02P$"% ,4    " !<=WA4B-Z,)J<"  #)!0  &0
M        @(%\4@  >&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0
M   ( %QW>%28UV^O< (  !X%   9              " @5I5  !X;"]W;W)K
M<VAE971S+W-H965T,3$N>&UL4$L! A0#%     @ 7'=X5"X(.W/A @  ] 4
M !D              ("! 5@  'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q0
M2P$"% ,4    " !<=WA4/ D''7(#  "Z!P  &0              @($96P
M>&PO=V]R:W-H965T<R]S:&5E=#$S+GAM;%!+ 0(4 Q0    ( %QW>%1,K_O@
M<@(  $<%   9              " @<)>  !X;"]W;W)K<VAE971S+W-H965T
M,30N>&UL4$L! A0#%     @ 7'=X5&8D'OFW @  (08  !D
M ("!:V$  'AL+W=O<FMS:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4    " !<
M=WA4ZA .RVX(  "&%0  &0              @(%99   >&PO=V]R:W-H965T
M<R]S:&5E=#$V+GAM;%!+ 0(4 Q0    ( %QW>%1?>#H0F <  !(3   9
M          " @?YL  !X;"]W;W)K<VAE971S+W-H965T,3<N>&UL4$L! A0#
M%     @ 7'=X5*#BD8N$"   <A4  !D              ("!S70  'AL+W=O
M<FMS:&5E=',O<VAE970Q."YX;6Q02P$"% ,4    " !<=WA4L@KU;/L#  !+
M"0  &0              @(&(?0  >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM
M;%!+ 0(4 Q0    ( %QW>%0:P1\3R@(  $,&   9              " @;J!
M  !X;"]W;W)K<VAE971S+W-H965T,C N>&UL4$L! A0#%     @ 7'=X5)?S
M+&JL P  ) @  !D              ("!NX0  'AL+W=O<FMS:&5E=',O<VAE
M970R,2YX;6Q02P$"% ,4    " !<=WA4+K\Z18<#  #2!P  &0
M    @(&>B   >&PO=V]R:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    (
M %QW>%37G'T]' ,  #X'   9              " @5R,  !X;"]W;W)K<VAE
M971S+W-H965T,C,N>&UL4$L! A0#%     @ 7'=X5'EXW+-V @  C04  !D
M             ("!KX\  'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6Q02P$"
M% ,4    " !<=WA4VQ]AU+,5  #N0@  &0              @(%<D@  >&PO
M=V]R:W-H965T<R]S:&5E=#(U+GAM;%!+ 0(4 Q0    ( %QW>%0%=:LF$ 8
M (</   9              " @4:H  !X;"]W;W)K<VAE971S+W-H965T,C8N
M>&UL4$L! A0#%     @ 7'=X5!HU5<-T @  & 4  !D              ("!
MC:X  'AL+W=O<FMS:&5E=',O<VAE970R-RYX;6Q02P$"% ,4    " !<=WA4
M$^TAK>@"  #H!0  &0              @($XL0  >&PO=V]R:W-H965T<R]S
M:&5E=#(X+GAM;%!+ 0(4 Q0    ( %QW>%3-,:.1!P,  )D&   9
M      " @5>T  !X;"]W;W)K<VAE971S+W-H965T,CDN>&UL4$L! A0#%
M  @ 7'=X5':)0&YX @  .04  !D              ("!E;<  'AL+W=O<FMS
M:&5E=',O<VAE970S,"YX;6Q02P$"% ,4    " !<=WA4=23MY-($  #<"P
M&0              @(%$N@  >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+
M 0(4 Q0    ( %QW>%3A@24820<  (\2   9              " @4V_  !X
M;"]W;W)K<VAE971S+W-H965T,S(N>&UL4$L! A0#%     @ 7'=X5&A8QD#3
M @  -P8  !D              ("!S<8  'AL+W=O<FMS:&5E=',O<VAE970S
M,RYX;6Q02P$"% ,4    " !<=WA4C8=PM^D"   V!@  &0
M@('7R0  >&PO=V]R:W-H965T<R]S:&5E=#,T+GAM;%!+ 0(4 Q0    ( %QW
M>%02[%4.; ,  'X(   9              " @??,  !X;"]W;W)K<VAE971S
M+W-H965T,S4N>&UL4$L! A0#%     @ 7'=X5#7#2KDF P  "P<  !D
M         ("!FM   'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6Q02P$"% ,4
M    " !<=WA4?<^;F],#   *#0  &0              @('WTP  >&PO=V]R
M:W-H965T<R]S:&5E=#,W+GAM;%!+ 0(4 Q0    ( %QW>%3>=X6#% (  '<$
M   9              " @0'8  !X;"]W;W)K<VAE971S+W-H965T,S@N>&UL
M4$L! A0#%     @ 7'=X5,I&TC.Z @  .@<  !D              ("!3-H
M 'AL+W=O<FMS:&5E=',O<VAE970S.2YX;6Q02P$"% ,4    " !<=WA4Z01.
M]D\#  !S#0  &0              @($]W0  >&PO=V]R:W-H965T<R]S:&5E
M=#0P+GAM;%!+ 0(4 Q0    ( %QW>%2*SZ69%P,  -8*   9
M  " @</@  !X;"]W;W)K<VAE971S+W-H965T-#$N>&UL4$L! A0#%     @
M7'=X5!YP4(4K @  O00  !D              ("!$>0  'AL+W=O<FMS:&5E
M=',O<VAE970T,BYX;6Q02P$"% ,4    " !<=WA4J"EW0Z(&  "P)P  &0
M            @(%SY@  >&PO=V]R:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4
M Q0    ( %QW>%0J_,L6'P,  'T)   9              " @4SM  !X;"]W
M;W)K<VAE971S+W-H965T-#0N>&UL4$L! A0#%     @ 7'=X5)-3Z_NL @
MSP@  !D              ("!HO   'AL+W=O<FMS:&5E=',O<VAE970T-2YX
M;6Q02P$"% ,4    " !<=WA4,DRNA^P"   $"P  &0              @(&%
M\P  >&PO=V]R:W-H965T<R]S:&5E=#0V+GAM;%!+ 0(4 Q0    ( %QW>%3U
M+ZF%4 ,  *<*   9              " @:CV  !X;"]W;W)K<VAE971S+W-H
M965T-#<N>&UL4$L! A0#%     @ 7'=X5*87^EBL @  PP8  !D
M     ("!+_H  'AL+W=O<FMS:&5E=',O<VAE970T."YX;6Q02P$"% ,4
M" !<=WA4[\#D&CL"   B!0  &0              @($2_0  >&PO=V]R:W-H
M965T<R]S:&5E=#0Y+GAM;%!+ 0(4 Q0    ( %QW>%3/KE%*5@(   4&   9
M              " @83_  !X;"]W;W)K<VAE971S+W-H965T-3 N>&UL4$L!
M A0#%     @ 7'=X5/E]A)!C @  -P8  !D              ("!$0(! 'AL
M+W=O<FMS:&5E=',O<VAE970U,2YX;6Q02P$"% ,4    " !<=WA4X>E&.(\#
M   2#@  &0              @(&K! $ >&PO=V]R:W-H965T<R]S:&5E=#4R
M+GAM;%!+ 0(4 Q0    ( %QW>%0P@8DY;00  +<4   9              "
M@7$( 0!X;"]W;W)K<VAE971S+W-H965T-3,N>&UL4$L! A0#%     @ 7'=X
M5%"Z2LY\ @  V@8  !D              ("!%0T! 'AL+W=O<FMS:&5E=',O
M<VAE970U-"YX;6Q02P$"% ,4    " !<=WA4VD'U]W0"  !E!@  &0
M        @('(#P$ >&PO=V]R:W-H965T<R]S:&5E=#4U+GAM;%!+ 0(4 Q0
M   ( %QW>%17.(SQ8 0  ) 2   9              " @7,2 0!X;"]W;W)K
M<VAE971S+W-H965T-38N>&UL4$L! A0#%     @ 7'=X5(BI=7]A P  OPP
M !D              ("!"A<! 'AL+W=O<FMS:&5E=',O<VAE970U-RYX;6Q0
M2P$"% ,4    " !<=WA4IR=1;:X#  "F#0  &0              @(&B&@$
M>&PO=V]R:W-H965T<R]S:&5E=#4X+GAM;%!+ 0(4 Q0    ( %QW>%1:Q\L*
MDP(  -4&   9              " @8<> 0!X;"]W;W)K<VAE971S+W-H965T
M-3DN>&UL4$L! A0#%     @ 7'=X5)+Q_#?N!P  *RH  !D
M ("!42$! 'AL+W=O<FMS:&5E=',O<VAE970V,"YX;6Q02P$"% ,4    " !<
M=WA4!GR ^S0$  ";$0  &0              @(%V*0$ >&PO=V]R:W-H965T
M<R]S:&5E=#8Q+GAM;%!+ 0(4 Q0    ( %QW>%36.B,$^ ,  *$.   9
M          " @>$M 0!X;"]W;W)K<VAE971S+W-H965T-C(N>&UL4$L! A0#
M%     @ 7'=X5+Z!'OF\ @  P08  !D              ("!$#(! 'AL+W=O
M<FMS:&5E=',O<VAE970V,RYX;6Q02P$"% ,4    " !<=WA43'R4^O@#  #(
M#P  &0              @($#-0$ >&PO=V]R:W-H965T<R]S:&5E=#8T+GAM
M;%!+ 0(4 Q0    ( %QW>%3QJ>2780,   @*   9              " @3(Y
M 0!X;"]W;W)K<VAE971S+W-H965T-C4N>&UL4$L! A0#%     @ 7'=X5-S[
M]C6I!   %Q,  !D              ("!RCP! 'AL+W=O<FMS:&5E=',O<VAE
M970V-BYX;6Q02P$"% ,4    " !<=WA4"[87XZ@"  !&!P  &0
M    @(&J00$ >&PO=V]R:W-H965T<R]S:&5E=#8W+GAM;%!+ 0(4 Q0    (
M %QW>%3,F15)\00    :   9              " @8E$ 0!X;"]W;W)K<VAE
M971S+W-H965T-C@N>&UL4$L! A0#%     @ 7'=X5!XU\7^M P  F0P  !D
M             ("!L4D! 'AL+W=O<FMS:&5E=',O<VAE970V.2YX;6Q02P$"
M% ,4    " !<=WA4H;^09U,$   >$@  &0              @(&530$ >&PO
M=V]R:W-H965T<R]S:&5E=#<P+GAM;%!+ 0(4 Q0    ( %QW>%33.DU"$ ,
M "P1   -              "  1]2 0!X;"]S='EL97,N>&UL4$L! A0#%
M  @ 7'=X5)>*NQS     $P(   L              ( !6E4! %]R96QS+RYR
M96QS4$L! A0#%     @ 7'=X5$?=M6U!!0  _BT   \              ( !
M0U8! 'AL+W=O<FMB;V]K+GAM;%!+ 0(4 Q0    ( %QW>%3;=K!Q,0(  (DI
M   :              "  ;%; 0!X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L
M<U!+ 0(4 Q0    ( %QW>%2DR,-W^@$  +0H   3              "  1I>
K 0!;0V]N=&5N=%]4>7!E<UTN>&UL4$L%!@    !. $X 614  $5@ 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<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>87
<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>88
<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>187</ContextCount>
  <ElementCount>382</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>58</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>8</UnitCount>
  <MyReports>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000100 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/DocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>010000 - Statement - CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/ConsolidatedBalanceSheets</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>010100 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>020000 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/ConsolidatedStatementsOfOperations</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF OPERATIONS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>030000 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveLoss</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>040000 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>050000 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>060100 - Disclosure - Description of business</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/DescriptionOfBusiness</Role>
      <ShortName>Description of business</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>060200 - Disclosure - Summary of significant accounting policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Summary of significant accounting policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>060300 - Disclosure - Note receivable</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/NoteReceivable</Role>
      <ShortName>Note receivable</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>060400 - Disclosure - Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/Inventories</Role>
      <ShortName>Inventories</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>060500 - Disclosure - Fixed assets, net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/FixedAssetsNet</Role>
      <ShortName>Fixed assets, net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>060600 - Disclosure - Intangible assets, net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IntangibleAssetsNet</Role>
      <ShortName>Intangible assets, net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>060700 - Disclosure - Accrued liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/AccruedLiabilities</Role>
      <ShortName>Accrued liabilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>060800 - Disclosure - Retirement savings plan</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/RetirementSavingsPlan</Role>
      <ShortName>Retirement savings plan</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>060900 - Disclosure - Borrowings</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/Borrowings</Role>
      <ShortName>Borrowings</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>061000 - Disclosure - Stock incentive plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/StockIncentivePlans</Role>
      <ShortName>Stock incentive plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>061100 - Disclosure - Income taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IncomeTaxes</Role>
      <ShortName>Income taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>061200 - Disclosure - Earnings per share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/EarningsPerShare</Role>
      <ShortName>Earnings per share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>061300 - Disclosure - Stock repurchase program</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/StockRepurchaseProgram</Role>
      <ShortName>Stock repurchase program</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>061400 - Disclosure - Geographic area information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/GeographicAreaInformation</Role>
      <ShortName>Geographic area information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>061500 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>061600 - Disclosure - Quarterly results of operations (unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/QuarterlyResultsOfOperationsUnaudited</Role>
      <ShortName>Quarterly results of operations (unaudited)</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>061700 - Disclosure - Subsequent events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SubsequentEvents</Role>
      <ShortName>Subsequent events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>070200 - Disclosure - Summary of significant accounting policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of significant accounting policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>080200 - Disclosure - Summary of significant accounting policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables</Role>
      <ShortName>Summary of significant accounting policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>080400 - Disclosure - Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/InventoriesTables</Role>
      <ShortName>Inventories (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/Inventories</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>080500 - Disclosure - Fixed assets, net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/FixedAssetsNetTables</Role>
      <ShortName>Fixed assets, net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/FixedAssetsNet</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>080600 - Disclosure - Intangible assets, net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IntangibleAssetsNetTables</Role>
      <ShortName>Intangible assets, net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/IntangibleAssetsNet</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>080700 - Disclosure - Accrued liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/AccruedLiabilitiesTables</Role>
      <ShortName>Accrued liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/AccruedLiabilities</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>081000 - Disclosure - Stock incentive plans (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/StockIncentivePlansTables</Role>
      <ShortName>Stock incentive plans (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/StockIncentivePlans</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>081100 - Disclosure - Income taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IncomeTaxesTables</Role>
      <ShortName>Income taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/IncomeTaxes</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>081200 - Disclosure - Earnings per share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/EarningsPerShareTables</Role>
      <ShortName>Earnings per share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/EarningsPerShare</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>081400 - Disclosure - Geographic area information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/GeographicAreaInformationTables</Role>
      <ShortName>Geographic area information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/GeographicAreaInformation</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>081500 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/Leases</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>081600 - Disclosure - Quarterly results of operations (unaudited) (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedTables</Role>
      <ShortName>Quarterly results of operations (unaudited) (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/QuarterlyResultsOfOperationsUnaudited</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>090100 - Disclosure - Description of business (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/DescriptionOfBusinessDetails</Role>
      <ShortName>Description of business (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/DescriptionOfBusiness</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>090200 - Disclosure - Summary of significant accounting policies, Segment reporting (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesSegmentReportingDetails</Role>
      <ShortName>Summary of significant accounting policies, Segment reporting (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>090202 - Disclosure - Summary of significant accounting policies, Allowance for doubtful accounts (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAllowanceForDoubtfulAccountsDetails</Role>
      <ShortName>Summary of significant accounting policies, Allowance for doubtful accounts (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>090204 - Disclosure - Summary of significant accounting policies, Fixed assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails</Role>
      <ShortName>Summary of significant accounting policies, Fixed assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>090206 - Disclosure - Summary of significant accounting policies, Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails</Role>
      <ShortName>Summary of significant accounting policies, Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>090208 - Disclosure - Summary of significant accounting policies, Goodwill and intangible assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails</Role>
      <ShortName>Summary of significant accounting policies, Goodwill and intangible assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>090210 - Disclosure - Summary of significant accounting policies, Revenue recognition - Disaggregation of revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails</Role>
      <ShortName>Summary of significant accounting policies, Revenue recognition - Disaggregation of revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>090212 - Disclosure - Summary of significant accounting policies, Revenue recognition - Contract balances (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails</Role>
      <ShortName>Summary of significant accounting policies, Revenue recognition - Contract balances (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>090214 - Disclosure - Summary of significant accounting policies, Revenue Recognition - Remaining performance obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails</Role>
      <ShortName>Summary of significant accounting policies, Revenue Recognition - Remaining performance obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>090216 - Disclosure - Summary of significant accounting policies, Concentration of credit risk (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails</Role>
      <ShortName>Summary of significant accounting policies, Concentration of credit risk (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>090218 - Disclosure - Summary of significant accounting policies, Warranty (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails</Role>
      <ShortName>Summary of significant accounting policies, Warranty (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>090220 - Disclosure - Summary of significant accounting policies, Engineering, design and product development (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails</Role>
      <ShortName>Summary of significant accounting policies, Engineering, design and product development (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>090222 - Disclosure - Summary of significant accounting policies, Advertising (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingDetails</Role>
      <ShortName>Summary of significant accounting policies, Advertising (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>090300 - Disclosure - Note receivable (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/NoteReceivableDetails</Role>
      <ShortName>Note receivable (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/NoteReceivable</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>090400 - Disclosure - Inventories (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/InventoriesDetails</Role>
      <ShortName>Inventories (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/InventoriesTables</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>090500 - Disclosure - Fixed assets, net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/FixedAssetsNetDetails</Role>
      <ShortName>Fixed assets, net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/FixedAssetsNetTables</ParentRole>
      <Position>52</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>090600 - Disclosure - Intangible assets, net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IntangibleAssetsNetDetails</Role>
      <ShortName>Intangible assets, net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/IntangibleAssetsNetTables</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>090700 - Disclosure - Accrued liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/AccruedLiabilitiesDetails</Role>
      <ShortName>Accrued liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/AccruedLiabilitiesTables</ParentRole>
      <Position>54</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>090800 - Disclosure - Retirement savings plan (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/RetirementSavingsPlanDetails</Role>
      <ShortName>Retirement savings plan (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/RetirementSavingsPlan</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>090900 - Disclosure - Borrowings (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/BorrowingsDetails</Role>
      <ShortName>Borrowings (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/Borrowings</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>091000 - Disclosure - Stock incentive plans, Stock incentive plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails</Role>
      <ShortName>Stock incentive plans, Stock incentive plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>091002 - Disclosure - Stock incentive plans, Assumptions used in option valuation calculations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails</Role>
      <ShortName>Stock incentive plans, Assumptions used in option valuation calculations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>091004 - Disclosure - Stock incentive plans, Share-based compensation expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails</Role>
      <ShortName>Stock incentive plans, Share-based compensation expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>091006 - Disclosure - Stock incentive plans, Stock options (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails</Role>
      <ShortName>Stock incentive plans, Stock options (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>091100 - Disclosure - Income taxes, Components of income tax benefit (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails</Role>
      <ShortName>Income taxes, Components of income tax benefit (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>091102 - Disclosure - Income taxes, Deferred tax assets and liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails</Role>
      <ShortName>Income taxes, Deferred tax assets and liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>091104 - Disclosure - Income taxes, Valuation allowance on deferred tax assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails</Role>
      <ShortName>Income taxes, Valuation allowance on deferred tax assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>091106 - Disclosure - Income taxes, Statutory to effective tax rate reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails</Role>
      <ShortName>Income taxes, Statutory to effective tax rate reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>091108 - Disclosure - Income taxes, Unrecognized tax benefits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails</Role>
      <ShortName>Income taxes, Unrecognized tax benefits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>091200 - Disclosure - Earnings per share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/EarningsPerShareDetails</Role>
      <ShortName>Earnings per share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/EarningsPerShareTables</ParentRole>
      <Position>66</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>091300 - Disclosure - Stock repurchase program (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/StockRepurchaseProgramDetails</Role>
      <ShortName>Stock repurchase program (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/StockRepurchaseProgram</ParentRole>
      <Position>67</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>091400 - Disclosure - Geographic area information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/GeographicAreaInformationDetails</Role>
      <ShortName>Geographic area information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/GeographicAreaInformationTables</ParentRole>
      <Position>68</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>091500 - Disclosure - Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/LeasesDetails</Role>
      <ShortName>Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/LeasesTables</ParentRole>
      <Position>69</Position>
    </Report>
    <Report instance="form10k2021.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>091600 - Disclosure - Quarterly results of operations (unaudited) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails</Role>
      <ShortName>Quarterly results of operations (unaudited) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedTables</ParentRole>
      <Position>70</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-K" original="form10k2021.htm">form10k2021.htm</File>
    <File>ex23_1.htm</File>
    <File>ex31_1.htm</File>
    <File>ex31_2.htm</File>
    <File>ex32.htm</File>
    <File>exhibit1010.htm</File>
    <File>exhibit1011.htm</File>
    <File>tact-20211231.xsd</File>
    <File>tact-20211231_cal.xml</File>
    <File>tact-20211231_def.xml</File>
    <File>tact-20211231_lab.xml</File>
    <File>tact-20211231_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>image0.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="848">http://fasb.org/us-gaap/2021-01-31</BaseTaxonomy>
    <BaseTaxonomy items="37">http://xbrl.sec.gov/dei/2021q4</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>91
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "form10k2021.htm": {
   "axisCustom": 0,
   "axisStandard": 22,
   "contextCount": 187,
   "dts": {
    "calculationLink": {
     "local": [
      "tact-20211231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "tact-20211231_def.xml"
     ]
    },
    "inline": {
     "local": [
      "form10k2021.htm"
     ]
    },
    "labelLink": {
     "local": [
      "tact-20211231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "tact-20211231_pre.xml"
     ]
    },
    "schema": {
     "local": [
      "tact-20211231.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/2004/ref-2004-08-10.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://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/currency/2021/currency-2021.xsd",
      "https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd",
      "https://xbrl.sec.gov/exch/2021/exch-2021.xsd",
      "https://xbrl.sec.gov/naics/2021/naics-2021.xsd",
      "https://xbrl.sec.gov/sic/2021/sic-2021.xsd",
      "https://xbrl.sec.gov/stpr/2021/stpr-2021.xsd"
     ]
    }
   },
   "elementCount": 625,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2021-01-31": 2,
    "http://xbrl.sec.gov/dei/2021q4": 6,
    "total": 8
   },
   "keyCustom": 25,
   "keyStandard": 357,
   "memberCustom": 19,
   "memberStandard": 39,
   "nsprefix": "tact",
   "nsuri": "http://transact-tech.com/20211231",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "000100 - Document - Document and Entity Information",
     "role": "http://transact-tech.com/role/DocumentAndEntityInformation",
     "shortName": "Document and Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "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": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "060300 - Disclosure - Note receivable",
     "role": "http://transact-tech.com/role/NoteReceivable",
     "shortName": "Note receivable",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "060400 - Disclosure - Inventories",
     "role": "http://transact-tech.com/role/Inventories",
     "shortName": "Inventories",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "060500 - Disclosure - Fixed assets, net",
     "role": "http://transact-tech.com/role/FixedAssetsNet",
     "shortName": "Fixed assets, net",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "060600 - Disclosure - Intangible assets, net",
     "role": "http://transact-tech.com/role/IntangibleAssetsNet",
     "shortName": "Intangible assets, net",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "060700 - Disclosure - Accrued liabilities",
     "role": "http://transact-tech.com/role/AccruedLiabilities",
     "shortName": "Accrued liabilities",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "060800 - Disclosure - Retirement savings plan",
     "role": "http://transact-tech.com/role/RetirementSavingsPlan",
     "shortName": "Retirement savings plan",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "060900 - Disclosure - Borrowings",
     "role": "http://transact-tech.com/role/Borrowings",
     "shortName": "Borrowings",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "061000 - Disclosure - Stock incentive plans",
     "role": "http://transact-tech.com/role/StockIncentivePlans",
     "shortName": "Stock incentive plans",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "061100 - Disclosure - Income taxes",
     "role": "http://transact-tech.com/role/IncomeTaxes",
     "shortName": "Income taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "061200 - Disclosure - Earnings per share",
     "role": "http://transact-tech.com/role/EarningsPerShare",
     "shortName": "Earnings per share",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "010000 - Statement - CONSOLIDATED BALANCE SHEETS",
     "role": "http://transact-tech.com/role/ConsolidatedBalanceSheets",
     "shortName": "CONSOLIDATED BALANCE SHEETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:TreasuryStockTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "061300 - Disclosure - Stock repurchase program",
     "role": "http://transact-tech.com/role/StockRepurchaseProgram",
     "shortName": "Stock repurchase program",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:TreasuryStockTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "061400 - Disclosure - Geographic area information",
     "role": "http://transact-tech.com/role/GeographicAreaInformation",
     "shortName": "Geographic area information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "061500 - Disclosure - Leases",
     "role": "http://transact-tech.com/role/Leases",
     "shortName": "Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "061600 - Disclosure - Quarterly results of operations (unaudited)",
     "role": "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnaudited",
     "shortName": "Quarterly results of operations (unaudited)",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "061700 - Disclosure - Subsequent events",
     "role": "http://transact-tech.com/role/SubsequentEvents",
     "shortName": "Subsequent events",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "070200 - Disclosure - Summary of significant accounting policies (Policies)",
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies",
     "shortName": "Summary of significant accounting policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "080200 - Disclosure - Summary of significant accounting policies (Tables)",
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables",
     "shortName": "Summary of significant accounting policies (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "080400 - Disclosure - Inventories (Tables)",
     "role": "http://transact-tech.com/role/InventoriesTables",
     "shortName": "Inventories (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "080500 - Disclosure - Fixed assets, net (Tables)",
     "role": "http://transact-tech.com/role/FixedAssetsNetTables",
     "shortName": "Fixed assets, net (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "080600 - Disclosure - Intangible assets, net (Tables)",
     "role": "http://transact-tech.com/role/IntangibleAssetsNetTables",
     "shortName": "Intangible assets, net (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PreferredStockParOrStatedValuePerShare",
       "span",
       "div",
       "div",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U003",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "010100 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "role": "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical",
     "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PreferredStockParOrStatedValuePerShare",
       "span",
       "div",
       "div",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U003",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "080700 - Disclosure - Accrued liabilities (Tables)",
     "role": "http://transact-tech.com/role/AccruedLiabilitiesTables",
     "shortName": "Accrued liabilities (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "081000 - Disclosure - Stock incentive plans (Tables)",
     "role": "http://transact-tech.com/role/StockIncentivePlansTables",
     "shortName": "Stock incentive plans (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "081100 - Disclosure - Income taxes (Tables)",
     "role": "http://transact-tech.com/role/IncomeTaxesTables",
     "shortName": "Income taxes (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "081200 - Disclosure - Earnings per share (Tables)",
     "role": "http://transact-tech.com/role/EarningsPerShareTables",
     "shortName": "Earnings per share (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "081400 - Disclosure - Geographic area information (Tables)",
     "role": "http://transact-tech.com/role/GeographicAreaInformationTables",
     "shortName": "Geographic area information (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "tact:LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "081500 - Disclosure - Leases (Tables)",
     "role": "http://transact-tech.com/role/LeasesTables",
     "shortName": "Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "tact:LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "081600 - Disclosure - Quarterly results of operations (unaudited) (Tables)",
     "role": "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedTables",
     "shortName": "Quarterly results of operations (unaudited) (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfOperatingSegments",
      "reportCount": 1,
      "unitRef": "U004",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090100 - Disclosure - Description of business (Details)",
     "role": "http://transact-tech.com/role/DescriptionOfBusinessDetails",
     "shortName": "Description of business (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "INF",
      "lang": null,
      "name": "tact:NumberOfSoftwareSolutions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U005",
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfOperatingSegments",
      "reportCount": 1,
      "unitRef": "U004",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090200 - Disclosure - Summary of significant accounting policies, Segment reporting (Details)",
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesSegmentReportingDetails",
     "shortName": "Summary of significant accounting policies, Segment reporting (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090202 - Disclosure - Summary of significant accounting policies, Allowance for doubtful accounts (Details)",
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAllowanceForDoubtfulAccountsDetails",
     "shortName": "Summary of significant accounting policies, Allowance for doubtful accounts (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20191231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "020000 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS",
     "role": "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
     "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:CostOfRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:Depreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090204 - Disclosure - Summary of significant accounting policies, Fixed assets (Details)",
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails",
     "shortName": "Summary of significant accounting policies, Fixed assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:Depreciation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231_RangeAxis_MinimumMember",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseRemainingLeaseTerm",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090206 - Disclosure - Summary of significant accounting policies, Leases (Details)",
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails",
     "shortName": "Summary of significant accounting policies, Leases (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231_RangeAxis_MinimumMember",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseRemainingLeaseTerm",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:GoodwillAndIntangibleAssetImpairment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090208 - Disclosure - Summary of significant accounting policies, Goodwill and intangible assets (Details)",
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails",
     "shortName": "Summary of significant accounting policies, Goodwill and intangible assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:GoodwillAndIntangibleAssetImpairment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "tact:TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090210 - Disclosure - Summary of significant accounting policies, Revenue recognition - Disaggregation of revenue (Details)",
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails",
     "shortName": "Summary of significant accounting policies, Revenue recognition - Disaggregation of revenue (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "tact:TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20200101to20201231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "tact:ContractWithCustomerRevenueRecognized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090212 - Disclosure - Summary of significant accounting policies, Revenue recognition - Contract balances (Details)",
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails",
     "shortName": "Summary of significant accounting policies, Revenue recognition - Contract balances (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20200101to20201231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "tact:ContractWithCustomerRevenueRecognized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090214 - Disclosure - Summary of significant accounting policies, Revenue Recognition - Remaining performance obligations (Details)",
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails",
     "shortName": "Summary of significant accounting policies, Revenue Recognition - Remaining performance obligations (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ScientificGamesMember",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U007",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090216 - Disclosure - Summary of significant accounting policies, Concentration of credit risk (Details)",
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails",
     "shortName": "Summary of significant accounting policies, Concentration of credit risk (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_ScientificGamesMember",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U007",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20201231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ExtendedProductWarrantyAccrual",
      "reportCount": 1,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090218 - Disclosure - Summary of significant accounting policies, Warranty (Details)",
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails",
     "shortName": "Summary of significant accounting policies, Warranty (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20191231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ExtendedProductWarrantyAccrual",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ResearchAndDevelopmentExpense",
      "reportCount": 1,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090220 - Disclosure - Summary of significant accounting policies, Engineering, design and product development (Details)",
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails",
     "shortName": "Summary of significant accounting policies, Engineering, design and product development (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:CapitalizedComputerSoftwareNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:AdvertisingCostsPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:AdvertisingExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090222 - Disclosure - Summary of significant accounting policies, Advertising (Details)",
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingDetails",
     "shortName": "Summary of significant accounting policies, Advertising (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:AdvertisingCostsPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:AdvertisingExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "030000 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS",
     "role": "http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveLoss",
     "shortName": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ComprehensiveIncomeNetOfTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "tact:NoteReceivableInterestRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U007",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090300 - Disclosure - Note receivable (Details)",
     "role": "http://transact-tech.com/role/NoteReceivableDetails",
     "shortName": "Note receivable (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "tact:NoteReceivableInterestRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U007",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090400 - Disclosure - Inventories (Details)",
     "role": "http://transact-tech.com/role/InventoriesDetails",
     "shortName": "Inventories (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090500 - Disclosure - Fixed assets, net (Details)",
     "role": "http://transact-tech.com/role/FixedAssetsNetDetails",
     "shortName": "Fixed assets, net (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090600 - Disclosure - Intangible assets, net (Details)",
     "role": "http://transact-tech.com/role/IntangibleAssetsNetDetails",
     "shortName": "Intangible assets, net (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090700 - Disclosure - Accrued liabilities (Details)",
     "role": "http://transact-tech.com/role/AccruedLiabilitiesDetails",
     "shortName": "Accrued liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U007",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090800 - Disclosure - Retirement savings plan (Details)",
     "role": "http://transact-tech.com/role/RetirementSavingsPlanDetails",
     "shortName": "Retirement savings plan (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U007",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "reportCount": 1,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "090900 - Disclosure - Borrowings (Details)",
     "role": "http://transact-tech.com/role/BorrowingsDetails",
     "shortName": "Borrowings (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember",
      "decimals": null,
      "lang": "en-US",
      "name": "us-gaap:LineOfCreditFacilityExpirationDate1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U008",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "091000 - Disclosure - Stock incentive plans, Stock incentive plans (Details)",
     "role": "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
     "shortName": "Stock incentive plans, Stock incentive plans (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U008",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231_AwardTypeAxis_EmployeeStockOptionMember",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
      "reportCount": 1,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "091002 - Disclosure - Stock incentive plans, Assumptions used in option valuation calculations (Details)",
     "role": "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
     "shortName": "Stock incentive plans, Assumptions used in option valuation calculations (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231_PlanNameAxis_EquityIncentivePlan2014Member",
      "decimals": null,
      "lang": "en-US",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "091004 - Disclosure - Stock incentive plans, Share-based compensation expense (Details)",
     "role": "http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails",
     "shortName": "Stock incentive plans, Share-based compensation expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20191231_StatementEquityComponentsAxis_CommonStockMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "040000 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY",
     "role": "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity",
     "shortName": "CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20191231_StatementEquityComponentsAxis_CommonStockMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "091006 - Disclosure - Stock incentive plans, Stock options (Details)",
     "role": "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails",
     "shortName": "Stock incentive plans, Stock options (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "091100 - Disclosure - Income taxes, Components of income tax benefit (Details)",
     "role": "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails",
     "shortName": "Income taxes, Components of income tax benefit (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "091102 - Disclosure - Income taxes, Deferred tax assets and liabilities (Details)",
     "role": "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
     "shortName": "Income taxes, Deferred tax assets and liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsDomestic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20201231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "reportCount": 1,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "091104 - Disclosure - Income taxes, Valuation allowance on deferred tax assets (Details)",
     "role": "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails",
     "shortName": "Income taxes, Valuation allowance on deferred tax assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20191231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unitRef": "U007",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "091106 - Disclosure - Income taxes, Statutory to effective tax rate reconciliation (Details)",
     "role": "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails",
     "shortName": "Income taxes, Statutory to effective tax rate reconciliation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "3",
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U007",
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "091108 - Disclosure - Income taxes, Unrecognized tax benefits (Details)",
     "role": "http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails",
     "shortName": "Income taxes, Unrecognized tax benefits (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211001to20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "091200 - Disclosure - Earnings per share (Details)",
     "role": "http://transact-tech.com/role/EarningsPerShareDetails",
     "shortName": "Earnings per share (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U002",
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockRepurchasedDuringPeriodShares",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U002",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "091300 - Disclosure - Stock repurchase program (Details)",
     "role": "http://transact-tech.com/role/StockRepurchaseProgramDetails",
     "shortName": "Stock repurchase program (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockRepurchasedDuringPeriodShares",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U002",
      "xsiNil": "false"
     }
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211001to20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "091400 - Disclosure - Geographic area information (Details)",
     "role": "http://transact-tech.com/role/GeographicAreaInformationDetails",
     "shortName": "Geographic area information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember",
      "decimals": "2",
      "lang": null,
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U007",
      "xsiNil": "false"
     }
    },
    "R69": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:OperatingLeaseExpense",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "091500 - Disclosure - Leases (Details)",
     "role": "http://transact-tech.com/role/LeasesDetails",
     "shortName": "Leases (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:OperatingLeaseExpense",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "050000 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "role": "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ShareBasedCompensation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R70": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211001to20211231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "U001",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "091600 - Disclosure - Quarterly results of operations (unaudited) (Details)",
     "role": "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails",
     "shortName": "Quarterly results of operations (unaudited) (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20211001to20211231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:GrossProfit",
      "reportCount": 1,
      "unique": true,
      "unitRef": "U001",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "060100 - Disclosure - Description of business",
     "role": "http://transact-tech.com/role/DescriptionOfBusiness",
     "shortName": "Description of business",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "060200 - Disclosure - Summary of significant accounting policies",
     "role": "http://transact-tech.com/role/SummaryOfSignificantAccountingPolicies",
     "shortName": "Summary of significant accounting policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "baseRef": "form10k2021.htm",
      "contextRef": "c20210101to20211231",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 58,
   "tag": {
    "country_CA": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CANADA",
        "terseLabel": "Canada [Member]"
       }
      }
     },
     "localname": "CA",
     "nsuri": "http://xbrl.sec.gov/country/2021",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "United States [Member]"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2021",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "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"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_AuditorFirmId": {
     "auth_ref": [
      "r615",
      "r616",
      "r617"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "PCAOB issued Audit Firm Identifier",
        "label": "Auditor Firm ID"
       }
      }
     },
     "localname": "AuditorFirmId",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "nonemptySequenceNumberItemType"
    },
    "dei_AuditorLocation": {
     "auth_ref": [
      "r615",
      "r616",
      "r617"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "localname": "AuditorLocation",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_AuditorName": {
     "auth_ref": [
      "r615",
      "r616",
      "r617"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "localname": "AuditorName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "internationalNameItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r615",
      "r616",
      "r617"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an annual report.",
        "label": "Document Annual Report"
       }
      }
     },
     "localname": "DocumentAnnualReport",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "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"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r618"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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"
       }
      }
     },
     "localname": "EntityAddressAddressLine2",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r613"
     ],
     "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"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r613"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r613"
     ],
     "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"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "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"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r620"
     ],
     "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"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityPublicFloat": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.",
        "label": "Entity Public Float"
       }
      }
     },
     "localname": "EntityPublicFloat",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "monetaryItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r613"
     ],
     "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"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r613"
     ],
     "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"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r613"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r613"
     ],
     "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"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.",
        "label": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [
      "r621"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.",
        "label": "Entity Well-known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_IcfrAuditorAttestationFlag": {
     "auth_ref": [
      "r615",
      "r616",
      "r617"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "localname": "IcfrAuditorAttestationFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r612"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r614"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2021q4",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "srt_ConsolidationItemsAxis": {
     "auth_ref": [
      "r134",
      "r202",
      "r213",
      "r214",
      "r215",
      "r216",
      "r217",
      "r219",
      "r223",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r286",
      "r287",
      "r289",
      "r291",
      "r292"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Axis]"
       }
      }
     },
     "localname": "ConsolidationItemsAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidationItemsDomain": {
     "auth_ref": [
      "r134",
      "r202",
      "r213",
      "r214",
      "r215",
      "r216",
      "r217",
      "r219",
      "r223",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r286",
      "r287",
      "r289",
      "r291",
      "r292"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Domain]"
       }
      }
     },
     "localname": "ConsolidationItemsDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_EuropeMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Europe [Member]"
       }
      }
     },
     "localname": "EuropeMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r229",
      "r356",
      "r360",
      "r583"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r297",
      "r329",
      "r373",
      "r374",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r580",
      "r584",
      "r606",
      "r607"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r297",
      "r329",
      "r373",
      "r374",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r580",
      "r584",
      "r606",
      "r607"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [
      "r229",
      "r356",
      "r360",
      "r583"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Domain]"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r225",
      "r356",
      "r358",
      "r542",
      "r579",
      "r581"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [
      "r225",
      "r356",
      "r358",
      "r542",
      "r579",
      "r581"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r297",
      "r329",
      "r371",
      "r373",
      "r374",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r580",
      "r584",
      "r606",
      "r607"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r297",
      "r329",
      "r371",
      "r373",
      "r374",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r580",
      "r584",
      "r606",
      "r607"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ReportableGeographicalComponentsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reportable Geographical Components [Member]"
       }
      }
     },
     "localname": "ReportableGeographicalComponentsMember",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [
      "r226",
      "r227",
      "r356",
      "r359",
      "r582",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r226",
      "r227",
      "r356",
      "r359",
      "r582",
      "r592",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ValuationAndQualifyingAccountsDisclosureLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation and Qualifying Accounts Disclosure [Line Items]"
       }
      }
     },
     "localname": "ValuationAndQualifyingAccountsDisclosureLineItems",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ValuationAndQualifyingAccountsDisclosureTable": {
     "auth_ref": [
      "r135",
      "r136",
      "r137",
      "r139",
      "r140"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation and Qualifying Accounts Disclosure [Table]"
       }
      }
     },
     "localname": "ValuationAndQualifyingAccountsDisclosureTable",
     "nsuri": "http://fasb.org/srt/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "tact_CasinoAndGamingMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sales of thermal ticket printers used in slot machines, video lottery terminals, and other gaming machines that print tickets or receipts instead of issuing coins at casinos and racetracks and other gaming venues worldwide.",
        "label": "Casino and Gaming [Member]",
        "terseLabel": "Casino and Gaming [Member]"
       }
      }
     },
     "localname": "CasinoAndGamingMember",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tact_ComputerSoftwareAndEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Computer software, including but not limited to, acquired and internally developed computer software, and long-lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.",
        "label": "Computer Software and Equipment [Member]",
        "terseLabel": "Computer Software and Equipment [Member]"
       }
      }
     },
     "localname": "ComputerSoftwareAndEquipmentMember",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tact_ContractWithCustomerAssetLiabilityNet": {
     "auth_ref": [],
     "calculation": {
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right (asset) to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time and the amount of obligation (liability) to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Contract with Customer, Asset (Liability), net",
        "totalLabel": "Net contract assets (liabilities)"
       }
      }
     },
     "localname": "ContractWithCustomerAssetLiabilityNet",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails": {
       "order": 3.0,
       "parentTag": "tact_ContractWithCustomerAssetLiabilityNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer related to customer prepayments for which consideration has been received or is receivable, classified as current.",
        "label": "Contract with Customer, Liability for Customer Prepayments, Current",
        "negatedLabel": "Customer pre-payments"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tact_ContractWithCustomerRevenueRecognized": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized related to obligation to transfer good or service to customer for which consideration from customer has been received or is due.",
        "label": "Contract with Customer, Revenue Recognized",
        "terseLabel": "Revenue recognized"
       }
      }
     },
     "localname": "ContractWithCustomerRevenueRecognized",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tact_Covid19Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The novel coronavirus (COVID-19) categorized as a pandemic by the World Health Organization.",
        "label": "Covid-19 [Member]",
        "terseLabel": "COVID-19 [Member]"
       }
      }
     },
     "localname": "Covid19Member",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of eligible accounts receivable included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.",
        "label": "Debt Instrument, Financial Covenant, Eligible Accounts Receivable",
        "terseLabel": "Percentage of eligible accounts receivable"
       }
      }
     },
     "localname": "DebtInstrumentFinancialCovenantEligibleAccountsReceivable",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "tact_DebtInstrumentFinancialCovenantEligibleInventory": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The minimum value of eligible raw material and finished goods inventory included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.",
        "label": "Debt Instrument, Financial Covenant, Eligible Inventory",
        "terseLabel": "Eligible inventory"
       }
      }
     },
     "localname": "DebtInstrumentFinancialCovenantEligibleInventory",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of eligible finished goods inventory included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.",
        "label": "Debt Instrument, Financial Covenant, Eligible Inventory, Finished Goods Inventory, Percentage",
        "terseLabel": "Percentage of eligible finished goods inventory"
       }
      }
     },
     "localname": "DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of eligible raw material included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.",
        "label": "Debt Instrument, Financial Covenant, Eligible Inventory, Raw Material, Percentage",
        "terseLabel": "Percentage of eligible raw material"
       }
      }
     },
     "localname": "DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "tact_DescriptionOfBusinessAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Description of business [Abstract]"
       }
      }
     },
     "localname": "DescriptionOfBusinessAbstract",
     "nsuri": "http://transact-tech.com/20211231",
     "xbrltype": "stringItemType"
    },
    "tact_EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent": {
     "auth_ref": [],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "order": 9.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to miscellaneous permanent items.",
        "label": "Effective Income Tax Rate Reconciliation, Miscellaneous Permanent Items, Percent",
        "terseLabel": "Miscellaneous permanent items"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "tact_EquityAwardsAggregateIntrinsicValueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards, Aggregate Intrinsic Value [Abstract]",
        "terseLabel": "Aggregate Intrinsic Value [Abstract]"
       }
      }
     },
     "localname": "EquityAwardsAggregateIntrinsicValueAbstract",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "tact_EquityAwardsWeightedAverageRemainingContractualTermAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards, Weighted-Average Remaining Contractual Term [Abstract]",
        "terseLabel": "Remaining Term [Abstract]"
       }
      }
     },
     "localname": "EquityAwardsWeightedAverageRemainingContractualTermAbstract",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "tact_EquityIncentivePlan2005AndEquityIncentivePlan2014Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock incentive plans which provide for awards to executives, key employees, directors and consultants.",
        "label": "Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]",
        "terseLabel": "2005 Equity Incentive Plan and 2014 Equity Incentive Plan [Member]"
       }
      }
     },
     "localname": "EquityIncentivePlan2005AndEquityIncentivePlan2014Member",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tact_EquityIncentivePlan2014Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock incentive plan which provides for awards to executives, key employees, directors and consultants.",
        "label": "Equity Incentive Plan 2014 [Member]",
        "terseLabel": "2014 Equity Incentive Plan [Member]"
       }
      }
     },
     "localname": "EquityIncentivePlan2014Member",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tact_ExtendedProductWarrantyPeriod": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The extended warranty period on company products, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Extended Product Warranty Period",
        "terseLabel": "Product warranty period"
       }
      }
     },
     "localname": "ExtendedProductWarrantyPeriod",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "tact_FacilityInHamdenConnecticutMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The company's executive offices and sales office located in Hamden, Connecticut.",
        "label": "Facility in Hamden, Connecticut [Member]"
       }
      }
     },
     "localname": "FacilityInHamdenConnecticutMember",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tact_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree": {
     "auth_ref": [],
     "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 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, After Year Three",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetExpectedAmortizationAfterYearThree",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tact_FixedAssetsExcludingConstructionInProcessMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fixed assets excluding construction in-process. Includes tooling, machinery and equipment, furniture and office equipment, computer software and equipment, and leasehold improvements.",
        "label": "Fixed Assets, Excluding Construction in-Process [Member]",
        "terseLabel": "Fixed Assets, Excluding Construction in-Process [Member]"
       }
      }
     },
     "localname": "FixedAssetsExcludingConstructionInProcessMember",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tact_FoodServiceTechnologyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sales of the BOHA! ecosystem, which combines the latest generation terminal, cloud-based software applications and related hardware into a unique solution to automate operations with food production in the back-of-house operations in restaurants and food service operations.",
        "label": "Food Service Technology [Member]",
        "terseLabel": "Food Service Technology [Member]"
       }
      }
     },
     "localname": "FoodServiceTechnologyMember",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tact_FurnitureAndOfficeEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities and tangible personal property used in an office setting. Examples include, but are not limited to, computers, copiers and fax machine.",
        "label": "Furniture and Office Equipment [Member]",
        "terseLabel": "Furniture and Office Equipment [Member]"
       }
      }
     },
     "localname": "FurnitureAndOfficeEquipmentMember",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tact_GainFromEmployeeRetentionCredit": {
     "auth_ref": [],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of gain from the Employee Retention Credit, a refundable tax credit against certain employment taxes equal to 50% of the qualified wages an eligible employer pays to employees after March 12, 2020, and before January 1, 2021.",
        "label": "Gain from Employee Retention Credit",
        "terseLabel": "Gain from employee retention credit"
       }
      }
     },
     "localname": "GainFromEmployeeRetentionCredit",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tact_IncreaseDecreaseInEmployeeRetentionCreditReceivable": {
     "auth_ref": [],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in current assets classified as employee retention credit receivable.",
        "label": "Increase (Decrease) in Employee Retention Credit Receivable",
        "negatedLabel": "Employee retention credit receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInEmployeeRetentionCreditReceivable",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tact_IncreaseDecreaseInOperatingLeaseRightOfUseAsset": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating lease right-of-use asset.",
        "label": "Increase (Decrease) in Operating Lease Right-of-use Asset",
        "terseLabel": "Increase (decrease) in right-of-use-asset"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingLeaseRightOfUseAsset",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tact_InternationalGameTechnologyPlcMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "International Game Technology PLC, formerly Gtech S.p.A. and Lottomatica S.p.A., is a multinational gaming company that produces slot machines and other gaming technology.",
        "label": "International Game Technology PLC [Member]",
        "terseLabel": "IGT [Member]"
       }
      }
     },
     "localname": "InternationalGameTechnologyPlcMember",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tact_InternationalMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other countries outside of the United States.",
        "label": "International [Member]"
       }
      }
     },
     "localname": "InternationalMember",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information related to lessee's operating leases, including weighted average lease term and discount rate.",
        "label": "Lessee, Operating Lease, Lease Term and Discount Rate [Table Text Block]",
        "terseLabel": "Additional Information Related to Leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of supplemental information for the statement of cash flows related to operating leases.",
        "label": "Lessee, Operating Lease, Supplemental Disclosure for Cash Flows [Table Text Block]",
        "terseLabel": "Cash Flows for Operating Leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "tact_LotteryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sales of thermal on-line and other lottery printers primarily to International Game Technology and its subsidiaries (\"IGT\") and, to a lesser extent, other lottery system companies for various lottery applications.",
        "label": "Lottery [Member]",
        "terseLabel": "Lottery [Member]"
       }
      }
     },
     "localname": "LotteryMember",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tact_NcrCorporationMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "NCR Corporation, previously known as National Cash Register, is an American software, consulting and technology company providing several professional services and electronic products.",
        "label": "NCR Corporation [Member]",
        "terseLabel": "NCR Corporation [Member]"
       }
      }
     },
     "localname": "NcrCorporationMember",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tact_NoteReceivableInterestIncome": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of nonoperating interest income from note receivable.",
        "label": "Note Receivable, Interest Income",
        "terseLabel": "Interest income"
       }
      }
     },
     "localname": "NoteReceivableInterestIncome",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/NoteReceivableDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tact_NoteReceivableInterestRate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual interest rate charged under the note receivable agreement.",
        "label": "Note Receivable, Interest Rate",
        "terseLabel": "Interest rate"
       }
      }
     },
     "localname": "NoteReceivableInterestRate",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/NoteReceivableDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "tact_NumberOfManufacturers": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of manufacturers located in China and Thailand.",
        "label": "Number of manufacturers",
        "terseLabel": "Number of manufacturers in China and Thailand"
       }
      }
     },
     "localname": "NumberOfManufacturers",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "tact_NumberOfSoftwareSolutions": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of software solutions from the after-market side of the business.",
        "label": "Number of software solutions",
        "terseLabel": "Number of software solutions from the after-market side of the business"
       }
      }
     },
     "localname": "NumberOfSoftwareSolutions",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "tact_PacificRimMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Geographic area surrounding the edges of the Pacific Ocean. The Pacific Rim covers the western shores of North America and South America, in addition to Australia, eastern Asia and the islands of the Pacific.",
        "label": "Pacific Rim [Member]",
        "terseLabel": "Pacific Rim [Member]"
       }
      }
     },
     "localname": "PacificRimMember",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tact_PaycheckProtectionProgramLoanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Paycheck Protection Program loans are authorized by the Coronavirus Aid, Relief and Economic Security Act, Section 7(a)(36) of the Small Business Act (the \"CARES Act\") to provide forgivable loans to small businesses.",
        "label": "Paycheck Protection Program Loan [Member]",
        "terseLabel": "PPP Loan [Member]"
       }
      }
     },
     "localname": "PaycheckProtectionProgramLoanMember",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails",
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tact_PaymentsForProceedsFromNotesReceivable": {
     "auth_ref": [],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net amount associated with payments for (receipts from) principal collections from a borrowing supported by a written promise to pay an obligation.",
        "label": "Payments for (Proceeds from) Notes Receivable",
        "negatedLabel": "Collection (issuance) of note receivable"
       }
      }
     },
     "localname": "PaymentsForProceedsFromNotesReceivable",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tact_PercentageReductionInCashRetainerFees": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage reduction in cash retainer fees for all non-employee directors.",
        "label": "Percentage reduction in cash retainer fees",
        "terseLabel": "Percentage reduction in cash retainer fees for all non-employee directors"
       }
      }
     },
     "localname": "PercentageReductionInCashRetainerFees",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "tact_PercentageReductionInSalaries": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage reduction in salaries of all salaried, non-commissioned employees, including executive officers.",
        "label": "Percentage reduction in salaries",
        "terseLabel": "Percentage reduction in salaries of all salaried, non-commissioned employees, including executive officers"
       }
      }
     },
     "localname": "PercentageReductionInSalaries",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "tact_PercentageReductionInWorkforce": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage reduction in the Company's workforce due to employee terminations and temporary furloughs.",
        "label": "Percentage reduction in workforce",
        "terseLabel": "Percentage reduction in workforce"
       }
      }
     },
     "localname": "PercentageReductionInWorkforce",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "tact_PosAutomationAndBankingMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sales of thermal printers used primarily by restaurants (including fine dining, casual dining, quick serve and hospitality establishments) located either at the checkout counter or within self-service kiosks to print receipts for consumers or print on linerless labels.",
        "label": "POS Automation and Banking [Member]",
        "terseLabel": "POS Automation [Member]"
       }
      }
     },
     "localname": "PosAutomationAndBankingMember",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tact_PrintrexMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sales of branded printers wide format, desktop and rack mounted and vehicle mounted black/white thermal printers used by customers to log and plot oil field, seismic and down hole well drilling data in the oil and gas exploration industry.",
        "label": "Printrex [Member]",
        "terseLabel": "Printrex [Member]"
       }
      }
     },
     "localname": "PrintrexMember",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tact_RevolvingCreditFacilitySienaLendingGroupLlcMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arrangement with Siena Lending Group LLC that provides a revolving credit line, subject to a borrowing base.",
        "label": "Revolving Credit Facility, Siena Lending Group Llc [Member]",
        "terseLabel": "Revolving Credit Facility [Member]"
       }
      }
     },
     "localname": "RevolvingCreditFacilitySienaLendingGroupLlcMember",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails",
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tact_ScientificGamesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Scientific Games is a world leader in entertainment offering dynamic games, systems and services for casino, lottery, social gaming, online gaming and sports betting.",
        "label": "Scientific Games [Member]",
        "terseLabel": "Chain Link Services [Member]"
       }
      }
     },
     "localname": "ScientificGamesMember",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were exercised during the period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Exercises in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Exercised (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "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 for which the right to exercise has lapsed under the terms of the plan agreements.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Expirations, Weighted Average Grant Date Fair Value",
        "terseLabel": "Expired (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exercise price of awards granted under the plans as a percentage of the fair market value of the Company's common stock at the date of grant.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Exercise Price as Percentage of Fair Market Value of Common Stock at Date of Grant",
        "terseLabel": "Exercise price as a percentage of fair market value of common stock at date of grant"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardExercisePriceAsPercentageOfFairMarketValueOfCommonStockAtDateOfGrant",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "tact_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of stock incentive plans.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of stock incentive plans",
        "terseLabel": "Number of stock incentive plans"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfStockIncentivePlans",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "tact_TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period the customer receives free maintenance upon completion of EPICENTRAL installation, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Term of free maintenance upon completion of software installation",
        "terseLabel": "Term of free maintenance upon completion of software installation"
       }
      }
     },
     "localname": "TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "tact_TransactServicesGroupMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from range of supplies and consumables used in the printing and scanning activities of customers in the restaurant and hospitality, banking, retail, casino and gaming, government and oil and gas exploration markets.",
        "label": "TransAct Services Group [Member]",
        "terseLabel": "TransAct Services Group [Member]"
       }
      }
     },
     "localname": "TransactServicesGroupMember",
     "nsuri": "http://transact-tech.com/20211231",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Summary of significant accounting policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsAndNotesReceivableNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note receivable [Abstract]"
       }
      }
     },
     "localname": "AccountsAndNotesReceivableNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for doubtful accounts [Abstract]"
       }
      }
     },
     "localname": "AccountsNotesLoansAndFinancingReceivableGrossAllowanceAndNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAllowanceForDoubtfulAccountsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": {
     "auth_ref": [
      "r56"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.",
        "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]",
        "terseLabel": "Accrued liabilities"
       }
      }
     },
     "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/AccruedLiabilities"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r55",
      "r530"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 1.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"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableMember": {
     "auth_ref": [
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold.",
        "label": "Accounts Receivable [Member]"
       }
      }
     },
     "localname": "AccountsReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r4",
      "r34",
      "r231",
      "r232"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "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, net"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedIncomeTaxesCurrent": {
     "auth_ref": [
      "r27",
      "r549",
      "r567"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.",
        "label": "Income taxes payable"
       }
      }
     },
     "localname": "AccruedIncomeTaxesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r59"
     ],
     "calculation": {
      "http://transact-tech.com/role/AccruedLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued liabilities",
        "totalLabel": "Accrued liabilities"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/AccruedLiabilitiesDetails",
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedProfessionalFeesCurrent": {
     "auth_ref": [
      "r11",
      "r12",
      "r59"
     ],
     "calculation": {
      "http://transact-tech.com/role/AccruedLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "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": "Professional and consulting"
       }
      }
     },
     "localname": "AccruedProfessionalFeesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/AccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r53",
      "r268"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "negatedLabel": "Less: Accumulated depreciation and amortization"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r37",
      "r73",
      "r74",
      "r75",
      "r569",
      "r589",
      "r590"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 7.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 loss, net of tax"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r72",
      "r75",
      "r82",
      "r83",
      "r84",
      "r142",
      "r143",
      "r144",
      "r480",
      "r585",
      "r586",
      "r622"
     ],
     "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) [Member]"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r35"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 4.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"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r142",
      "r143",
      "r144",
      "r415",
      "r416",
      "r417",
      "r487"
     ],
     "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]"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in additional paid in capital (APIC) resulting from a tax benefit (deficiency) associated with an share-based compensation plan other than an employee stock ownership plan (ESOP).",
        "label": "Relinquishment of stock awards and deferred stock units to pay withholding taxes"
       }
      }
     },
     "localname": "AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r376",
      "r378",
      "r421",
      "r422"
     ],
     "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": "Share-based compensation expense"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net loss to net cash used in operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdvertisingCostsPolicyTextBlock": {
     "auth_ref": [
      "r426"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for advertising cost.",
        "label": "Advertising"
       }
      }
     },
     "localname": "AdvertisingCostsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AdvertisingExpense": {
     "auth_ref": [
      "r427"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.",
        "label": "Advertising expense"
       }
      }
     },
     "localname": "AdvertisingExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r378",
      "r410",
      "r420"
     ],
     "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": "Share-based compensation expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r41",
      "r235",
      "r241"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "periodEndLabel": "Balance, end of period",
        "periodStartLabel": "Balance, beginning of period"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAllowanceForDoubtfulAccountsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": {
     "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": "Allowance for doubtful accounts [Roll Forward]"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableRollforward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAllowanceForDoubtfulAccountsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": {
     "auth_ref": [
      "r243"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance.",
        "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff",
        "negatedLabel": "Deductions"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAllowanceForDoubtfulAccountsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r114",
      "r255",
      "r262"
     ],
     "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 expense"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r167"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Anti-dilutive securities excluded from computation of earnings per dilutive share (in shares)"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "auth_ref": [
      "r167"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of antidilutive security.",
        "label": "Antidilutive Securities [Axis]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "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": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "auth_ref": [
      "r167"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.",
        "label": "Antidilutive Securities, Name [Domain]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r129",
      "r205",
      "r215",
      "r221",
      "r239",
      "r279",
      "r280",
      "r281",
      "r283",
      "r284",
      "r285",
      "r286",
      "r288",
      "r290",
      "r292",
      "r293",
      "r477",
      "r481",
      "r493",
      "r528",
      "r530",
      "r547",
      "r566"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "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://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets:"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsAndLiabilitiesLesseeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets and Liabilities, Lessee [Abstract]",
        "terseLabel": "Leases [Abstract]"
       }
      }
     },
     "localname": "AssetsAndLiabilitiesLesseeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r7",
      "r9",
      "r70",
      "r129",
      "r239",
      "r279",
      "r280",
      "r281",
      "r283",
      "r284",
      "r285",
      "r286",
      "r288",
      "r290",
      "r292",
      "r293",
      "r477",
      "r481",
      "r493",
      "r528",
      "r530"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 1.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://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsNoncurrent": {
     "auth_ref": [
      "r18",
      "r19",
      "r20",
      "r21",
      "r22",
      "r23",
      "r24",
      "r25",
      "r129",
      "r239",
      "r279",
      "r280",
      "r281",
      "r283",
      "r284",
      "r285",
      "r286",
      "r288",
      "r290",
      "r292",
      "r293",
      "r477",
      "r481",
      "r493",
      "r528"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 2.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 after one year or beyond the normal operating cycle, if longer.",
        "label": "Assets, Noncurrent",
        "totalLabel": "Total noncurrent assets"
       }
      }
     },
     "localname": "AssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r379",
      "r413"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r483",
      "r484"
     ],
     "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://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r141"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).  Accounting policies describe all significant accounting policies of the reporting entity.",
        "label": "Basis of Presentation and Significant Accounting Policies [Text Block]",
        "terseLabel": "Summary of significant accounting policies"
       }
      }
     },
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BuildingMember": {
     "auth_ref": [
      "r267"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities.",
        "label": "Building [Member]",
        "terseLabel": "Facility in Ithaca, New York [Member]"
       }
      }
     },
     "localname": "BuildingMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CapitalExpendituresIncurredButNotYetPaid": {
     "auth_ref": [
      "r119",
      "r120",
      "r121"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred.",
        "label": "Non-cash capital expenditure items"
       }
      }
     },
     "localname": "CapitalExpendituresIncurredButNotYetPaid",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedComputerSoftwareAmortization1": {
     "auth_ref": [
      "r609",
      "r611"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for amortization of capitalized computer software costs.",
        "label": "Capitalized Computer Software, Amortization",
        "terseLabel": "Amortization of capitalized software development costs"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareAmortization1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedComputerSoftwareNet": {
     "auth_ref": [
      "r608"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount of capitalized computer software costs net of accumulated amortization as of the balance sheet date.",
        "label": "Unamortized development costs of software"
       }
      }
     },
     "localname": "CapitalizedComputerSoftwareNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r2",
      "r50",
      "r116"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 1.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"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "auth_ref": [
      "r17",
      "r117"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.",
        "label": "Cash and Cash Equivalents, Policy [Policy Text Block]",
        "terseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r109",
      "r116",
      "r122"
     ],
     "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 and cash equivalents, end of period",
        "periodStartLabel": "Cash and cash equivalents, beginning of period"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r109",
      "r498"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "totalLabel": "Increase in cash and cash equivalents"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashFlowOperatingActivitiesLesseeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Flow, Operating Activities, Lessee [Abstract]",
        "terseLabel": "Cash Flows Related to Operating Leases [Abstract]"
       }
      }
     },
     "localname": "CashFlowOperatingActivitiesLesseeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ClassOfStockDomain": {
     "auth_ref": [
      "r127",
      "r129",
      "r157",
      "r161",
      "r162",
      "r164",
      "r166",
      "r178",
      "r179",
      "r180",
      "r239",
      "r279",
      "r284",
      "r285",
      "r286",
      "r292",
      "r293",
      "r327",
      "r328",
      "r330",
      "r331",
      "r493",
      "r619"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock.",
        "label": "Class of Stock [Domain]"
       }
      }
     },
     "localname": "ClassOfStockDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r64",
      "r273",
      "r553",
      "r573"
     ],
     "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"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommonStockDividendsPerShareCashPaid": {
     "auth_ref": [
      "r337"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate dividends paid during the period for each share of common stock outstanding.",
        "label": "Dividends declared and paid per common share (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockDividendsPerShareCashPaid",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r142",
      "r143",
      "r487"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r32"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r32"
     ],
     "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 (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r32"
     ],
     "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 (in shares)",
        "periodEndLabel": "Ending balance (in shares)",
        "periodStartLabel": "Beginning balance (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r32",
      "r332"
     ],
     "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 (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r32",
      "r530"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 5.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, $0.01 par value, 20,000,000 authorized at December 31, 2021 and 2020; 13,917,731 and 12,976,227 shares issued; 9,872,889 and 8,931,385 shares outstanding, at December 31, 2021 and 2020, respectively"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CompensationAndEmployeeBenefitPlansTextBlock": {
     "auth_ref": [
      "r369",
      "r370",
      "r375",
      "r425"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for an entity's employee compensation and benefit plans, including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, share-based compensation, life insurance, severance, health care, unemployment and other benefit plans.",
        "label": "Retirement savings plan"
       }
      }
     },
     "localname": "CompensationAndEmployeeBenefitPlansTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/RetirementSavingsPlan"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement savings plan [Abstract]"
       }
      }
     },
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income tax components [Abstract]"
       }
      }
     },
     "localname": "ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r77",
      "r79",
      "r80",
      "r89",
      "r556",
      "r575"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveLoss": {
       "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 loss"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveLoss"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r190",
      "r191",
      "r229",
      "r490",
      "r491",
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.",
        "label": "Concentration Risk Benchmark [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r190",
      "r191",
      "r229",
      "r490",
      "r491",
      "r591",
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk Benchmark [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r190",
      "r191",
      "r229",
      "r490",
      "r491",
      "r591",
      "r593"
     ],
     "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]"
       }
      }
     },
     "localname": "ConcentrationRiskByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "auth_ref": [
      "r184",
      "r564"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit risk.",
        "label": "Concentration of credit risk"
       }
      }
     },
     "localname": "ConcentrationRiskCreditRisk",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "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": "Concentration Risk [Line Items]"
       }
      }
     },
     "localname": "ConcentrationRiskLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r190",
      "r191",
      "r229",
      "r490",
      "r491"
     ],
     "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://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTable": {
     "auth_ref": [
      "r187",
      "r190",
      "r191",
      "r192",
      "r490",
      "r492",
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.",
        "label": "Concentration Risk [Table]"
       }
      }
     },
     "localname": "ConcentrationRiskTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r190",
      "r191",
      "r229",
      "r490",
      "r491",
      "r593"
     ],
     "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]"
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "auth_ref": [
      "r123",
      "r479"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting.  The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.",
        "label": "Principles of consolidation"
       }
      }
     },
     "localname": "ConsolidationPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConstructionInProgressMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.",
        "label": "Construction in-Process [Member]"
       }
      }
     },
     "localname": "ConstructionInProgressMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "auth_ref": [
      "r344"
     ],
     "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": "Net Contract (Liabilities) Assets"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerAssetNetCurrent": {
     "auth_ref": [
      "r341",
      "r343",
      "r357"
     ],
     "calculation": {
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails": {
       "order": 2.0,
       "parentTag": "tact_ContractWithCustomerAssetLiabilityNet",
       "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": "Unbilled receivables, current"
       }
      }
     },
     "localname": "ContractWithCustomerAssetNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerAssetNetNoncurrent": {
     "auth_ref": [
      "r341",
      "r343",
      "r357"
     ],
     "calculation": {
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails": {
       "order": 1.0,
       "parentTag": "tact_ContractWithCustomerAssetLiabilityNet",
       "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 noncurrent.",
        "label": "Contract with Customer, Asset, after Allowance for Credit Loss, Noncurrent",
        "terseLabel": "Unbilled receivables, non-current"
       }
      }
     },
     "localname": "ContractWithCustomerAssetNetNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Liability [Abstract]",
        "terseLabel": "Contract liabilities [Abstract]"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r341",
      "r342",
      "r357"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      },
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails": {
       "order": 4.0,
       "parentTag": "tact_ContractWithCustomerAssetLiabilityNet",
       "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": "Deferred revenue",
        "negatedLabel": "Deferred revenue, current"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityNoncurrent": {
     "auth_ref": [
      "r341",
      "r342",
      "r357"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0
      },
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails": {
       "order": 5.0,
       "parentTag": "tact_ContractWithCustomerAssetLiabilityNet",
       "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": "Deferred revenue, net of current portion",
        "negatedLabel": "Deferred revenue, non-current"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionContractBalancesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfRevenue": {
     "auth_ref": [
      "r95",
      "r129",
      "r239",
      "r279",
      "r280",
      "r281",
      "r284",
      "r285",
      "r286",
      "r288",
      "r290",
      "r292",
      "r293",
      "r493"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "order": 2.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 sales"
       }
      }
     },
     "localname": "CostOfRevenue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "auth_ref": [
      "r130",
      "r455",
      "r462"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current federal tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Current Federal Tax Expense (Benefit)",
        "terseLabel": "Federal"
       }
      }
     },
     "localname": "CurrentFederalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentForeignTaxExpenseBenefit": {
     "auth_ref": [
      "r130",
      "r455"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Current Foreign Tax Expense (Benefit)",
        "terseLabel": "Foreign"
       }
      }
     },
     "localname": "CurrentForeignTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r130",
      "r455",
      "r462",
      "r464"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.",
        "label": "Current Income Tax Expense (Benefit)",
        "totalLabel": "Income taxes current"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Current [Abstract]"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "auth_ref": [
      "r130",
      "r455",
      "r462"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Current State and Local Tax Expense (Benefit)",
        "terseLabel": "State"
       }
      }
     },
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "auth_ref": [
      "r188",
      "r229"
     ],
     "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]"
       }
      }
     },
     "localname": "CustomerConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CustomerRelationshipsMember": {
     "auth_ref": [
      "r475"
     ],
     "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]"
       }
      }
     },
     "localname": "CustomerRelationshipsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Borrowings [Abstract]"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "auth_ref": [
      "r126",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r311",
      "r318",
      "r319",
      "r321",
      "r326"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.",
        "label": "Debt Disclosure [Text Block]",
        "terseLabel": "Borrowings"
       }
      }
     },
     "localname": "DebtDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/Borrowings"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DebtInstrumentAxis": {
     "auth_ref": [
      "r26",
      "r27",
      "r28",
      "r128",
      "r134",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r301",
      "r307",
      "r308",
      "r309",
      "r310",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r322",
      "r323",
      "r324",
      "r325",
      "r510",
      "r548",
      "r550",
      "r565"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.",
        "label": "Debt Instrument [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails",
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.",
        "label": "Basis spread on variable rate"
       }
      }
     },
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentDecreaseForgiveness": {
     "auth_ref": [
      "r128"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Decrease for amounts of indebtedness forgiven by the holder of the debt instrument.",
        "label": "Debt Instrument, Decrease, Forgiveness",
        "terseLabel": "Loan forgiven"
       }
      }
     },
     "localname": "DebtInstrumentDecreaseForgiveness",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "auth_ref": [
      "r294",
      "r322",
      "r323",
      "r508",
      "r510",
      "r511"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face (par) amount of debt instrument at time of issuance.",
        "label": "Debt Instrument, Face Amount",
        "terseLabel": "Face amount"
       }
      }
     },
     "localname": "DebtInstrumentFaceAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails",
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "auth_ref": [
      "r61",
      "r295"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.",
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "terseLabel": "Interest rate"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentLineItems": {
     "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": "Debt Instrument [Line Items]"
       }
      }
     },
     "localname": "DebtInstrumentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails",
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "auth_ref": [
      "r62",
      "r128",
      "r134",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r301",
      "r307",
      "r308",
      "r309",
      "r310",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r322",
      "r323",
      "r324",
      "r325",
      "r510"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.",
        "label": "Debt Instrument, Name [Domain]"
       }
      }
     },
     "localname": "DebtInstrumentNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails",
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentTable": {
     "auth_ref": [
      "r62",
      "r128",
      "r134",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r301",
      "r307",
      "r308",
      "r309",
      "r310",
      "r312",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r320",
      "r322",
      "r323",
      "r324",
      "r325",
      "r333",
      "r334",
      "r335",
      "r336",
      "r507",
      "r508",
      "r510",
      "r511",
      "r563"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Schedule of Long-term Debt Instruments [Table]"
       }
      }
     },
     "localname": "DebtInstrumentTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails",
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instruments [Abstract]",
        "verboseLabel": "Description of business [Abstract]"
       }
      }
     },
     "localname": "DebtInstrumentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible": {
     "auth_ref": [
      "r439"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease reasonably possible in the next twelve months for the unrecognized tax benefit.",
        "label": "Decrease in Unrecognized Tax Benefits is Reasonably Possible",
        "terseLabel": "Expected decrease in unrecognized tax benefits in next year"
       }
      }
     },
     "localname": "DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense": {
     "auth_ref": [
      "r366",
      "r378"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The compensation expense recognized during the period pertaining to the deferred compensation arrangement.",
        "label": "Deferred Compensation Arrangement with Individual, Compensation Expense",
        "terseLabel": "Deferred compensation expense"
       }
      }
     },
     "localname": "DeferredCompensationArrangementWithIndividualCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansRestrictedStockDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualExercisePrice": {
     "auth_ref": [
      "r386"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The per share price that the individual must pay to acquire shares under the deferred compensation arrangement.",
        "label": "Deferred Compensation Arrangement with Individual, Exercise Price",
        "terseLabel": "Weighted average exercise price of deferred stock units (in dollars per share)"
       }
      }
     },
     "localname": "DeferredCompensationArrangementWithIndividualExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansRestrictedStockDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualMaximumContractualTerm1": {
     "auth_ref": [
      "r367",
      "r381"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum term of the deferred compensation arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Deferred Compensation Arrangement with Individual, Maximum Contractual Term",
        "terseLabel": "Term of award"
       }
      }
     },
     "localname": "DeferredCompensationArrangementWithIndividualMaximumContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansRestrictedStockDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis": {
     "auth_ref": [
      "r413"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of deferred compensation related to equity-based payment arrangements. Includes, but is not limited to, employment contracts with one or more selected officers or key employees. Excludes broad group equity-based compensation plans, defined benefit pension plans, defined benefit other postretirement benefit plans and other deferred compensation that is not equivalent to a defined benefit pension plan or a defined benefit other postretirement benefit plan.",
        "label": "Equity-Based Arrangements, Individual Contracts, Type of Deferred Compensation [Axis]"
       }
      }
     },
     "localname": "DeferredCompensationArrangementWithIndividualShareBasedPaymentsByTypeOfDeferredCompensationAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansRestrictedStockDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems": {
     "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": "Deferred Compensation Arrangement with Individual, Share-based Payments [Line Items]"
       }
      }
     },
     "localname": "DeferredCompensationArrangementWithIndividualShareBasedPaymentsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansRestrictedStockDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredCompensationArrangementWithIndividualSharesIssued": {
     "auth_ref": [
      "r412"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued pursuant to the terms of a deferred compensation arrangement.",
        "label": "Deferred Compensation Arrangement with Individual, Shares Issued",
        "terseLabel": "Deferred stock units issued for incentive bonus (in shares)"
       }
      }
     },
     "localname": "DeferredCompensationArrangementWithIndividualSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansRestrictedStockDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_DeferredCompensationArrangementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Compensation Arrangements [Abstract]",
        "verboseLabel": "Restricted stock [Abstract]"
       }
      }
     },
     "localname": "DeferredCompensationArrangementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansRestrictedStockDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredCompensationShareBasedPaymentsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred compensation arrangements (such as stock or unit options and share or unit awards) that are equity-based payments with individual employees. The arrangements are generally based on employment contracts between the entity and one or more selected officers or key employees, and contain a promise by the employer to pay certain amounts or benefits at designated future dates, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Other \"sub-members\" can be added as necessary.",
        "label": "Deferred Compensation, Share-based Payments [Member]",
        "terseLabel": "Restricted Stock [Member]"
       }
      }
     },
     "localname": "DeferredCompensationShareBasedPaymentsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansRestrictedStockDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r130",
      "r456",
      "r462"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred federal income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Federal"
       }
      }
     },
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredFinanceCostsGross": {
     "auth_ref": [
      "r509"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.",
        "label": "Debt Issuance Costs, Gross",
        "terseLabel": "Deferred financing costs"
       }
      }
     },
     "localname": "DeferredFinanceCostsGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r130",
      "r456",
      "r462"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Foreign"
       }
      }
     },
     "localname": "DeferredForeignIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "auth_ref": [
      "r432",
      "r433"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.",
        "label": "Deferred Income Tax Assets, Net",
        "terseLabel": "Deferred tax assets"
       }
      }
     },
     "localname": "DeferredIncomeTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r114",
      "r130",
      "r456",
      "r462",
      "r463",
      "r464"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred income tax benefit",
        "totalLabel": "Income taxes deferred"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows",
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Deferred [Abstract]"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredRentCredit": {
     "auth_ref": [
      "r512",
      "r527"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of excess of rental payment required by lease over rental income recognized.",
        "label": "Deferred rent, net of current portion"
       }
      }
     },
     "localname": "DeferredRentCredit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r130",
      "r456",
      "r462"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred state and local tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "State"
       }
      }
     },
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsDeferredIncome": {
     "auth_ref": [
      "r453",
      "r454"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred income.",
        "label": "Deferred Tax Assets, Deferred Income",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "DeferredTaxAssetsDeferredIncome",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "auth_ref": [
      "r446"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets, Gross",
        "totalLabel": "Gross deferred tax assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsInventory": {
     "auth_ref": [
      "r453",
      "r454"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.",
        "label": "Inventory reserves"
       }
      }
     },
     "localname": "DeferredTaxAssetsInventory",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "auth_ref": [
      "r448"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.",
        "label": "Deferred Tax Assets, Net",
        "totalLabel": "Total net deferred tax assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "auth_ref": [
      "r448"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "totalLabel": "Net deferred tax assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net [Abstract]",
        "terseLabel": "Deferred tax assets [Abstract]"
       }
      }
     },
     "localname": "DeferredTaxAssetsNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsDomestic": {
     "auth_ref": [
      "r453",
      "r454"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible domestic operating loss carryforwards. Excludes state and local operating loss carryforwards.",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards, Domestic"
       }
      }
     },
     "localname": "DeferredTaxAssetsOperatingLossCarryforwardsDomestic",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsForeign": {
     "auth_ref": [
      "r453",
      "r454"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible foreign operating loss carryforwards.",
        "label": "Foreign net operating losses"
       }
      }
     },
     "localname": "DeferredTaxAssetsOperatingLossCarryforwardsForeign",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "auth_ref": [
      "r453",
      "r454"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 10.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.",
        "label": "Other liabilities and reserves"
       }
      }
     },
     "localname": "DeferredTaxAssetsOther",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch": {
     "auth_ref": [
      "r451",
      "r453",
      "r454"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards.",
        "label": "R&amp;D credit carryforward"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxCreditCarryforwardsResearch",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation": {
     "auth_ref": [
      "r453",
      "r454"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 8.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from employee compensation.",
        "label": "Other accrued compensation"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": {
     "auth_ref": [
      "r453",
      "r454"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.",
        "label": "Stock compensation expense"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements": {
     "auth_ref": [
      "r453",
      "r454"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from the estimated loss from legal settlements.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Legal Settlements",
        "terseLabel": "Depreciation"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves": {
     "auth_ref": [
      "r453",
      "r454"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from warranty reserves.",
        "label": "Warranty reserve"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r447"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "negatedLabel": "Valuation allowance"
       }
      }
     },
     "localname": "DeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilities": {
     "auth_ref": [
      "r433",
      "r448"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.",
        "label": "Deferred Tax Liabilities, Net",
        "totalLabel": "Net deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax liabilities [Abstract]"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesOther": {
     "auth_ref": [
      "r453",
      "r454"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other.",
        "label": "Deferred Tax Liabilities, Other",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesOther",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "auth_ref": [
      "r453",
      "r454"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.",
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "terseLabel": "Depreciation"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanCostRecognized": {
     "auth_ref": [
      "r372"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost for defined contribution plan.",
        "label": "Amount of matching contribution"
       }
      }
     },
     "localname": "DefinedContributionPlanCostRecognized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/RetirementSavingsPlanDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan.",
        "label": "Employee's contribution percentage for match"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/RetirementSavingsPlanDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage employer matches of the employee's percentage contribution matched.",
        "label": "Employer matching contribution percentage"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercentOfMatch",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/RetirementSavingsPlanDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r114",
      "r266"
     ],
     "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 expense"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationAndAmortization": {
     "auth_ref": [
      "r114",
      "r266"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.",
        "label": "Depreciation, Depletion and Amortization, Nonproduction",
        "verboseLabel": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisaggregationOfRevenueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of revenue [Abstract]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "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]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [
      "r356",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364"
     ],
     "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]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r356"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table Text Block]",
        "terseLabel": "Disaggregation of Revenue"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r425"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Stock incentive plans"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlans"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock incentive plans [Abstract]"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DomesticCountryMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.",
        "label": "Federal [Member]"
       }
      }
     },
     "localname": "DomesticCountryMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "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": [
      "r90",
      "r147",
      "r148",
      "r149",
      "r150",
      "r151",
      "r155",
      "r157",
      "r164",
      "r165",
      "r166",
      "r170",
      "r171",
      "r488",
      "r489",
      "r557",
      "r576"
     ],
     "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": "Basic (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/EarningsPerShareDetails",
      "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareBasicAndDilutedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net (loss) income per common share [Abstract]",
        "terseLabel": "Net loss per common share [Abstract]",
        "verboseLabel": "Net loss per common share:"
       }
      }
     },
     "localname": "EarningsPerShareBasicAndDilutedAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/EarningsPerShareDetails",
      "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares used in per-share calculation:"
       }
      }
     },
     "localname": "EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r90",
      "r147",
      "r148",
      "r149",
      "r150",
      "r151",
      "r157",
      "r164",
      "r165",
      "r166",
      "r170",
      "r171",
      "r488",
      "r489",
      "r557",
      "r576"
     ],
     "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": "Diluted (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/EarningsPerShareDetails",
      "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "auth_ref": [
      "r167",
      "r168"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.",
        "label": "Net income and loss per share"
       }
      }
     },
     "localname": "EarningsPerSharePolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EarningsPerShareReconciliationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share Reconciliation [Abstract]",
        "terseLabel": "Earnings per share [Abstract]"
       }
      }
     },
     "localname": "EarningsPerShareReconciliationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r167",
      "r168",
      "r169",
      "r172"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings per share"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShare"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r498"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "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. Excludes amounts 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": "Effect of exchange rate changes on cash and cash equivalents"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r435"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Effective tax rate",
        "totalLabel": "Effective tax rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails",
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Tax Rate Reconciliation [Abstract]"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r132",
      "r435",
      "r466"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).",
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "verboseLabel": "Federal statutory tax rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails",
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r435",
      "r466"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.",
        "label": "Valuation allowance and tax accruals"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate": {
     "auth_ref": [
      "r435",
      "r466"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates.",
        "label": "U.S. corporate tax rate change"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion": {
     "auth_ref": [
      "r435",
      "r466"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and the expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to deduction for extraterritorial income exclusion.",
        "label": "Effective Income Tax Rate Reconciliation, Deduction, Extraterritorial Income Exclusion, Percent",
        "negatedLabel": "Foreign-derived intangible income deduction"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment": {
     "auth_ref": [
      "r435",
      "r466"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "order": 8.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to meals and entertainment expense.",
        "label": "Business meals and entertainment"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost": {
     "auth_ref": [
      "r435",
      "r466"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement.",
        "label": "Stock option cancellations"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "auth_ref": [
      "r435",
      "r466"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "order": 11.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.",
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent": {
     "auth_ref": [
      "r424",
      "r435"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Percent",
        "terseLabel": "Stock award excess tax benefit"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "auth_ref": [
      "r435",
      "r466"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).",
        "label": "State income taxes, net of federal income taxes"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies": {
     "auth_ref": [
      "r435",
      "r466"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income tax contingencies. Includes, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Contingency, Percent",
        "negatedLabel": "Uncertain tax positions"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxContingencies",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch": {
     "auth_ref": [
      "r435",
      "r466"
     ],
     "calculation": {
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails": {
       "order": 10.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent",
        "negatedLabel": "R&amp;D credit"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCreditsResearch",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesStatutoryToEffectiveTaxRateReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "auth_ref": [
      "r59"
     ],
     "calculation": {
      "http://transact-tech.com/role/AccruedLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Salaries and compensation related"
       }
      }
     },
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/AccruedLiabilitiesDetails"
     ],
     "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 Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r411"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Weighted average period to recognize compensation cost not yet recognized"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": {
     "auth_ref": [
      "r411"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost to be recognized for option under share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount",
        "terseLabel": "Unrecognized compensation cost related to stock options"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense": {
     "auth_ref": [
      "r410"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of tax benefit for recognition of expense of award under share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Expense, Tax Benefit",
        "terseLabel": "Income tax benefit from share-based compensation expense"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions": {
     "auth_ref": [
      "r414"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of tax benefit from exercise of option under share-based payment arrangement.",
        "label": "Excess tax benefit in provision for income taxes"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [
      "r408"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.",
        "label": "Stock Options [Member]"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock repurchase program [Abstract]"
       }
      }
     },
     "localname": "EquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain": {
     "auth_ref": [
      "r413"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred compensation related to equity-based payment arrangements. Includes, but is not limited to, employment contracts with one or more selected officers or key employees. Excludes broad group equity-based compensation plans, defined benefit pension plans, defined benefit other postretirement benefit plans and other deferred compensation that is not equivalent to a defined benefit pension plan or a defined benefit other postretirement benefit plan.",
        "label": "Equity-Based Arrangements, Individual Contracts, Type of Deferred Compensation [Domain]"
       }
      }
     },
     "localname": "EquityBasedArrangementsIndividualContractsTypeOfDeferredCompensationDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansRestrictedStockDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r0",
      "r82",
      "r83",
      "r84",
      "r142",
      "r143",
      "r144",
      "r146",
      "r152",
      "r154",
      "r177",
      "r240",
      "r332",
      "r337",
      "r415",
      "r416",
      "r417",
      "r458",
      "r459",
      "r487",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r585",
      "r586",
      "r587",
      "r622"
     ],
     "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]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ExcessTaxBenefitFromShareBasedCompensationFinancingActivities": {
     "auth_ref": [
      "r423"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from realized tax benefit related to deductible compensation cost reported on the entity's tax return for equity instruments in excess of the compensation cost for those instruments recognized for financial reporting purposes.",
        "label": "Excess Tax Benefit from Share-based Compensation, Financing Activities",
        "terseLabel": "Withholding taxes paid on stock issuance"
       }
      }
     },
     "localname": "ExcessTaxBenefitFromShareBasedCompensationFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ExtendedProductWarrantyAccrual": {
     "auth_ref": [
      "r275"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount as of the balance sheet date of the aggregate extended product warranty liability. Does not include the ending balance for the standard product warranty liability.",
        "label": "Extended Product Warranty Accrual",
        "periodEndLabel": "Balance, end of period",
        "periodStartLabel": "Balance, beginning of period"
       }
      }
     },
     "localname": "ExtendedProductWarrantyAccrual",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ExtendedProductWarrantyAccrualCurrent": {
     "auth_ref": [
      "r59"
     ],
     "calculation": {
      "http://transact-tech.com/role/AccruedLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount at end of the reporting period of the aggregate extended product warranty liability that is expected to be paid within one year of the balance sheet date or normal operating cycle, if longer. Does not include the balance for the standard product warranty liability.",
        "label": "Accrued product warranty liability, current",
        "terseLabel": "Warranty"
       }
      }
     },
     "localname": "ExtendedProductWarrantyAccrualCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/AccruedLiabilitiesDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ExtendedProductWarrantyAccrualNoncurrent": {
     "auth_ref": [
      "r63"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount at end of the reporting period of the aggregate extended product warranty liability that is expected to be paid after one year from the balance sheet date or normal operating cycle, if longer. Does not include the balance for the standard product warranty liability.",
        "label": "Accrued product warranty liability, long-term"
       }
      }
     },
     "localname": "ExtendedProductWarrantyAccrualNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ExtendedProductWarrantyAccrualPayments": {
     "auth_ref": [
      "r276"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in the extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the extended product warranty. Excludes standard product warranties.",
        "label": "Extended Product Warranty Accrual, Decrease for Payments",
        "negatedLabel": "Warranty settlements"
       }
      }
     },
     "localname": "ExtendedProductWarrantyAccrualPayments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ExtendedProductWarrantyAccrualWarrantiesIssued": {
     "auth_ref": [
      "r277"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in the extended product warranty accrual from warranties issued. Excludes standard product warranties.",
        "label": "Extended Product Warranty Accrual, Increase for Warranties Issued",
        "terseLabel": "Warranties issued"
       }
      }
     },
     "localname": "ExtendedProductWarrantyAccrualWarrantiesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ExtendedProductWarrantyDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Extended Product Warranty Disclosure [Abstract]",
        "terseLabel": "Warranty [Abstract]"
       }
      }
     },
     "localname": "ExtendedProductWarrantyDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ExtraordinaryAndUnusualItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unusual or Infrequent Items, or Both [Abstract]",
        "verboseLabel": "Description of business [Abstract]"
       }
      }
     },
     "localname": "ExtraordinaryAndUnusualItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FederalFundsEffectiveSwapRateMember": {
     "auth_ref": [
      "r486"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fixed rate on U.S. dollar, constant-notional interest rate swap having its variable-rate leg referenced to Federal Funds effective rate with no additional spread over Federal Funds effective rate on that variable-rate leg.",
        "label": "Fed Funds Effective Rate Overnight Index Swap Rate [Member]",
        "terseLabel": "Federal Funds Rate [Member]"
       }
      }
     },
     "localname": "FederalFundsEffectiveSwapRateMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r261"
     ],
     "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",
        "negatedLabel": "Accumulated amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": {
     "auth_ref": [],
     "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 fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "auth_ref": [
      "r263"
     ],
     "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": "2022"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "auth_ref": [
      "r263"
     ],
     "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 fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "2026"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "auth_ref": [
      "r263"
     ],
     "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": "2025"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "auth_ref": [
      "r263"
     ],
     "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": "2024"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "auth_ref": [
      "r263"
     ],
     "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": "2023"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r256",
      "r257",
      "r261",
      "r264",
      "r543",
      "r544"
     ],
     "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://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Future amortization expense [Abstract]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r261",
      "r544"
     ],
     "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": "Gross amount"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "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://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r256",
      "r260"
     ],
     "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://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Identifiable intangible assets [Abstract]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "auth_ref": [
      "r494",
      "r495",
      "r496",
      "r497"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.",
        "label": "Foreign Currency Transaction Gain (Loss), before Tax",
        "negatedLabel": "Foreign currency transaction (gains) losses"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionGainLossBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "auth_ref": [
      "r505"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.",
        "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]",
        "terseLabel": "Foreign currency translation"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GainLossOnNonRecourseDebt": {
     "auth_ref": [],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "order": 6.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount represents the difference between the cash acquisition price of the debt and the net carrying amount of the debt at the time of its extinguishment (or deconsolidation of in-substance real estate when an entity defaults on its debt obligations).",
        "label": "Gain (Loss) on Non-Recourse Debt",
        "negatedLabel": "Gain on the forgiveness of long-term debt",
        "terseLabel": "Gain on forgiveness of long-term debt"
       }
      }
     },
     "localname": "GainLossOnNonRecourseDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows",
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfProperty": {
     "auth_ref": [
      "r114"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of oil and gas property or timber property.",
        "label": "Gain (Loss) on Disposition of Oil and Gas and Timber Property",
        "negatedLabel": "Loss on sale of fixed assets"
       }
      }
     },
     "localname": "GainLossOnSaleOfProperty",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r96"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "order": 3.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"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpenseMember": {
     "auth_ref": [
      "r91"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing general and administrative expense.",
        "label": "General and Administrative Expense [Member]"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GeographicConcentrationRiskMember": {
     "auth_ref": [
      "r189",
      "r593"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Reflects the percentage that a specified dollar value on the balance sheet or income statement in the period from one or more specified geographic areas is to a corresponding consolidated, segment, or product line amount. Risk is the materially adverse effects of economic decline or antagonistic political actions resulting in loss of assets, sales volume, labor supply, or source of materials and supplies in a US state or a specified country, continent, or region such as EMEA (Europe, Middle East, Africa).",
        "label": "Geographic Concentration Risk [Member]"
       }
      }
     },
     "localname": "GeographicConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r251",
      "r252",
      "r530",
      "r546"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsNoncurrent",
       "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"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetImpairment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total loss recognized during the period from the impairment of goodwill plus the loss recognized in the period resulting from the impairment of the carrying amount of intangible assets, other than goodwill.",
        "label": "Goodwill and Intangible Asset Impairment",
        "terseLabel": "Impairment of goodwill and intangible assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetImpairment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesGoodwillAndIntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible assets, net [Abstract]"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "auth_ref": [
      "r253",
      "r258"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.",
        "label": "Goodwill and Intangible assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r94",
      "r129",
      "r205",
      "r214",
      "r217",
      "r220",
      "r223",
      "r239",
      "r279",
      "r280",
      "r281",
      "r284",
      "r285",
      "r286",
      "r288",
      "r290",
      "r292",
      "r293",
      "r493"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "order": 1.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://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r87",
      "r205",
      "r214",
      "r217",
      "r220",
      "r223",
      "r545",
      "r554",
      "r561",
      "r577"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "order": 1.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://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": {
     "auth_ref": [
      "r131",
      "r465"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.",
        "label": "Foreign loss before taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF OPERATIONS [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r270",
      "r272"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [
      "r272"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "auth_ref": [
      "r440"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by tax jurisdiction.",
        "label": "Income Tax Authority [Axis]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.",
        "label": "Income Tax Authority [Domain]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes [Abstract]"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r132",
      "r436",
      "r444",
      "r450",
      "r460",
      "r467",
      "r469",
      "r470",
      "r471"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExaminationPenaltiesAndInterestAccrued": {
     "auth_ref": [
      "r437"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of estimated penalties and interest accrued as of the balance sheet date arising from income tax examinations.",
        "label": "Accrued interest and penalties related to uncertain tax positions"
       }
      }
     },
     "localname": "IncomeTaxExaminationPenaltiesAndInterestAccrued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r133",
      "r153",
      "r154",
      "r204",
      "r434",
      "r461",
      "r468",
      "r578"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      },
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "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 benefit",
        "totalLabel": "Income tax benefit"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of income tax benefit [Abstract]"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Expense (Benefit), Continuing Operations, by Jurisdiction [Abstract]",
        "terseLabel": "Income taxes [Abstract]"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefitContinuingOperationsByJurisdictionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "auth_ref": [
      "r81",
      "r430",
      "r431",
      "r444",
      "r445",
      "r449",
      "r457"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.",
        "label": "Income Tax, Policy [Policy Text Block]",
        "terseLabel": "Income taxes"
       }
      }
     },
     "localname": "IncomeTaxPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxesPaid": {
     "auth_ref": [
      "r111",
      "r118"
     ],
     "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.",
        "label": "Income taxes paid"
       }
      }
     },
     "localname": "IncomeTaxesPaid",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r113"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 15.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"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": {
     "auth_ref": [
      "r113"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 20.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 liabilities and other liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r113"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in operating assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": {
     "auth_ref": [
      "r113",
      "r521"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation for operating lease.",
        "label": "Increase (Decrease) in Operating Lease Liability",
        "terseLabel": "Increase (decrease) in operating lease liability"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "auth_ref": [
      "r113"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating assets classified as other.",
        "label": "Increase (Decrease) in Other Operating Assets",
        "negatedLabel": "Other current and long-term assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidTaxes": {
     "auth_ref": [
      "r113"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) of consideration paid in advance for income and other taxes that provide economic benefits in future periods.",
        "label": "Increase (Decrease) in Prepaid Taxes",
        "negatedLabel": "Prepaid income taxes"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidTaxes",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInReceivables": {
     "auth_ref": [
      "r113"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the total amount due within one year (or one operating cycle) from all parties, associated with underlying transactions that are classified as operating activities.",
        "label": "Increase (Decrease) in Receivables",
        "negatedLabel": "Accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInReceivables",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "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": "Increase (Decrease) in Stockholders' Equity [Roll Forward]"
       }
      }
     },
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "auth_ref": [
      "r158",
      "r159",
      "r160",
      "r166"
     ],
     "calculation": {
      "http://transact-tech.com/role/EarningsPerShareDetails": {
       "order": 2.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": "Add: Dilutive effect of outstanding equity awards as determined by the treasury stock method (in shares)"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r265"
     ],
     "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://transact-tech.com/role/IntangibleAssetsNet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "auth_ref": [
      "r254",
      "r259"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.",
        "label": "Intangible assets, net"
       }
      }
     },
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r85",
      "r203",
      "r506",
      "r509",
      "r560"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "order": 5.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "Interest Expense",
        "negatedLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestIncomeDomesticDeposits": {
     "auth_ref": [
      "r559"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest earned on deposits in United States money market accounts and other United States interest earning accounts.",
        "label": "Interest income"
       }
      }
     },
     "localname": "InterestIncomeDomesticDeposits",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r108",
      "r110",
      "r118"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.",
        "label": "Interest paid"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories [Abstract]"
       }
      }
     },
     "localname": "InventoryDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r248"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.",
        "label": "Inventory Disclosure [Text Block]",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/Inventories"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "auth_ref": [
      "r43",
      "r247"
     ],
     "calculation": {
      "http://transact-tech.com/role/InventoriesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.",
        "label": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/InventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r3",
      "r67",
      "r530"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://transact-tech.com/role/InventoriesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventories",
        "totalLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/InventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "auth_ref": [
      "r13",
      "r68",
      "r124",
      "r173",
      "r245",
      "r246",
      "r248",
      "r540"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.",
        "label": "Inventory, Policy [Policy Text Block]",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves": {
     "auth_ref": [
      "r45",
      "r46",
      "r247"
     ],
     "calculation": {
      "http://transact-tech.com/role/InventoriesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregated amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed. This amount is net of valuation reserves and adjustments.",
        "label": "Raw materials and purchased component parts"
       }
      }
     },
     "localname": "InventoryRawMaterialsAndSuppliesNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/InventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "auth_ref": [
      "r44",
      "r247"
     ],
     "calculation": {
      "http://transact-tech.com/role/InventoriesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.",
        "label": "Work-in-process"
       }
      }
     },
     "localname": "InventoryWorkInProcessNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/InventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "auth_ref": [
      "r267"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Additions or improvements to assets held under a lease arrangement.",
        "label": "Leasehold Improvements [Member]"
       }
      }
     },
     "localname": "LeaseholdImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]"
       }
      }
     },
     "localname": "LeasesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "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": "Lessee, Lease, Description [Line Items]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "auth_ref": [
      "r520"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about lessee's leases.",
        "label": "Lessee, Lease, Description [Table]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "auth_ref": [
      "r517"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee.",
        "label": "Leases"
       }
      }
     },
     "localname": "LesseeLeasesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseDescriptionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Description [Abstract]",
        "terseLabel": "Operating Lease Weighted Average Remaining Lease Term and Discount Rate [Abstract]"
       }
      }
     },
     "localname": "LesseeOperatingLeaseDescriptionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r524"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.",
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Maturity of Operating Lease Liabilities"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r524"
     ],
     "calculation": {
      "http://transact-tech.com/role/LeasesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://transact-tech.com/role/LeasesDetailsCalc2": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "totalLabel": "Total undiscounted lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [
      "r524"
     ],
     "calculation": {
      "http://transact-tech.com/role/LeasesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r524"
     ],
     "calculation": {
      "http://transact-tech.com/role/LeasesDetails": {
       "order": 0.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "auth_ref": [
      "r524"
     ],
     "calculation": {
      "http://transact-tech.com/role/LeasesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five",
        "terseLabel": "2026"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r524"
     ],
     "calculation": {
      "http://transact-tech.com/role/LeasesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four",
        "terseLabel": "2025"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r524"
     ],
     "calculation": {
      "http://transact-tech.com/role/LeasesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r524"
     ],
     "calculation": {
      "http://transact-tech.com/role/LeasesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r524"
     ],
     "calculation": {
      "http://transact-tech.com/role/LeasesDetailsCalc2": {
       "order": 0.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Less imputed interest"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseRemainingLeaseTerm": {
     "auth_ref": [
      "r518"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Remaining lease term of operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Lessee, Operating Lease, Remaining Lease Term",
        "terseLabel": "Remaining lease terms"
       }
      }
     },
     "localname": "LesseeOperatingLeaseRemainingLeaseTerm",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_LesseeOperatingLeaseRenewalTerm": {
     "auth_ref": [
      "r519"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Lessee, Operating Lease, Renewal Term",
        "terseLabel": "Extension period for leases"
       }
      }
     },
     "localname": "LesseeOperatingLeaseRenewalTerm",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r526"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.",
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeOperatingLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/Leases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r58",
      "r129",
      "r216",
      "r239",
      "r279",
      "r280",
      "r281",
      "r284",
      "r285",
      "r286",
      "r288",
      "r290",
      "r292",
      "r293",
      "r478",
      "r481",
      "r482",
      "r493",
      "r528",
      "r529"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 1.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://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r40",
      "r129",
      "r239",
      "r493",
      "r530",
      "r551",
      "r571"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "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 shareholders' equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Shareholders' Equity:"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r60",
      "r129",
      "r239",
      "r279",
      "r280",
      "r281",
      "r284",
      "r285",
      "r286",
      "r288",
      "r290",
      "r292",
      "r293",
      "r478",
      "r481",
      "r482",
      "r493",
      "r528",
      "r529",
      "r530"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 1.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://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesNoncurrent": {
     "auth_ref": [
      "r14",
      "r15",
      "r16",
      "r28",
      "r29",
      "r129",
      "r239",
      "r279",
      "r280",
      "r281",
      "r284",
      "r285",
      "r286",
      "r288",
      "r290",
      "r292",
      "r293",
      "r478",
      "r481",
      "r482",
      "r493",
      "r528",
      "r529"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer.",
        "label": "Liabilities, Noncurrent",
        "totalLabel": "Total noncurrent liabilities"
       }
      }
     },
     "localname": "LiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Abstract]",
        "verboseLabel": "Borrowings [Abstract]"
       }
      }
     },
     "localname": "LineOfCreditFacilityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityExpirationDate1": {
     "auth_ref": [
      "r57"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date the credit facility terminates, in YYYY-MM-DD format.",
        "label": "Maturity date"
       }
      }
     },
     "localname": "LineOfCreditFacilityExpirationDate1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r57"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "terseLabel": "Maximum borrowing capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails",
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "auth_ref": [
      "r57"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).",
        "label": "Line of Credit Facility, Remaining Borrowing Capacity",
        "terseLabel": "Additional borrowing capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.",
        "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage",
        "terseLabel": "Percentage fee on unused borrowings"
       }
      }
     },
     "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_LitigationSettlementExpense": {
     "auth_ref": [],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "order": 4.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of litigation expense, including but not limited to legal, forensic, accounting, and investigative fees.",
        "label": "Litigation Settlement, Expense",
        "verboseLabel": "Legal fees and settlement expenses associated with lawsuit (Note 10)"
       }
      }
     },
     "localname": "LitigationSettlementExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": {
     "auth_ref": [
      "r238"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses.",
        "label": "Loans, Notes, Trade and Other Receivables Disclosure [Text Block]",
        "terseLabel": "Note receivable"
       }
      }
     },
     "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/NoteReceivable"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.",
        "label": "Machinery and Equipment [Member]",
        "terseLabel": "Tooling, Machinery and Equipment [Member]"
       }
      }
     },
     "localname": "MachineryAndEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MarketingAndAdvertisingExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Advertising [Abstract]"
       }
      }
     },
     "localname": "MarketingAndAdvertisingExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_MovementInExtendedProductWarrantyAccrualRollForward": {
     "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": "Accrued product warranty liability [Roll Forward]"
       }
      }
     },
     "localname": "MovementInExtendedProductWarrantyAccrualRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_MovementInValuationAllowancesAndReservesRollForward": {
     "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": "Valuation allowance [Roll Forward]"
       }
      }
     },
     "localname": "MovementInValuationAllowancesAndReservesRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NatureOfOperations": {
     "auth_ref": [
      "r181",
      "r196"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.",
        "label": "Description of business"
       }
      }
     },
     "localname": "NatureOfOperations",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusiness"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r109"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "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://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from financing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r109"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "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 provided by (used in) investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r109",
      "r112",
      "r115"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "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 operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r1",
      "r76",
      "r78",
      "r84",
      "r88",
      "r115",
      "r129",
      "r145",
      "r147",
      "r148",
      "r149",
      "r150",
      "r153",
      "r154",
      "r163",
      "r205",
      "r214",
      "r217",
      "r220",
      "r223",
      "r239",
      "r279",
      "r280",
      "r281",
      "r284",
      "r285",
      "r286",
      "r288",
      "r290",
      "r292",
      "r293",
      "r489",
      "r493",
      "r555",
      "r574"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveLoss": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      },
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "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 loss",
        "totalLabel": "Net loss",
        "verboseLabel": "Net (loss) income"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows",
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity",
      "http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveLoss",
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/EarningsPerShareDetails",
      "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoncompeteAgreementsMember": {
     "auth_ref": [
      "r474"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.",
        "label": "Covenant Not to Compete [Member]"
       }
      }
     },
     "localname": "NoncompeteAgreementsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "auth_ref": [
      "r97"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "order": 2.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": "Interest and other income (expense)"
       }
      }
     },
     "localname": "NonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest and other income (expense):"
       }
      }
     },
     "localname": "NonoperatingIncomeExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NontradeReceivablesCurrent": {
     "auth_ref": [
      "r69"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The sum of amounts currently receivable other than from customers. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected within one year or the normal operating cycle, if longer.",
        "label": "Nontrade Receivables, Current",
        "terseLabel": "Employee retention credit receivable"
       }
      }
     },
     "localname": "NontradeReceivablesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NotesAndLoansReceivableNetCurrent": {
     "auth_ref": [
      "r4",
      "r5",
      "r33",
      "r231",
      "r232",
      "r552"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of financing receivable, classified as current. Includes, but is not limited to, notes and loan receivable.",
        "label": "Financing Receivable, after Allowance for Credit Loss, Current",
        "terseLabel": "Note receivable"
       }
      }
     },
     "localname": "NotesAndLoansReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NotesAndLoansReceivableNetNoncurrent": {
     "auth_ref": [
      "r34"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of financing receivable, classified as noncurrent.",
        "label": "Note receivable, net of current portion"
       }
      }
     },
     "localname": "NotesAndLoansReceivableNetNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NumberOfOperatingSegments": {
     "auth_ref": [
      "r198"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.",
        "label": "Number of operating segments",
        "terseLabel": "Number of business segments"
       }
      }
     },
     "localname": "NumberOfOperatingSegments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusinessDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesSegmentReportingDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "order": 2.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": "Operating expenses"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating expenses:"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [
      "r205",
      "r214",
      "r217",
      "r220",
      "r223"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "order": 1.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://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseExpense": {
     "auth_ref": [
      "r515"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating lease expense. Excludes sublease income.",
        "label": "Operating Lease, Expense",
        "terseLabel": "Operating lease expense"
       }
      }
     },
     "localname": "OperatingLeaseExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payment, Due [Abstract]",
        "terseLabel": "Maturity of Operating Lease Liabilities [Abstract]"
       }
      }
     },
     "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r514"
     ],
     "calculation": {
      "http://transact-tech.com/role/LeasesDetailsCalc2": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating Lease, Liability",
        "terseLabel": "Total lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r514"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "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": "Lease liability"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r514"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "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": "Lease liability, net of current portion"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r516",
      "r521"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating Lease, Payments",
        "terseLabel": "Operating cash outflows from leases"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r513"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Right-of-use-asset"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r523",
      "r525"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Weighted average discount rate"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r522",
      "r525"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Weighted average remaining lease term"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OperatingLossCarryforwards": {
     "auth_ref": [
      "r451"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.",
        "label": "Net operating loss carryforward"
       }
      }
     },
     "localname": "OperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLossCarryforwardsLineItems": {
     "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": "Operating Loss Carryforwards [Line Items]"
       }
      }
     },
     "localname": "OperatingLossCarryforwardsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLossCarryforwardsTable": {
     "auth_ref": [
      "r452"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting pertinent information, such as tax authority, amounts, and expiration dates, of net operating loss carryforwards, including an assessment of the likelihood of utilization.",
        "label": "Operating Loss Carryforwards [Table]"
       }
      }
     },
     "localname": "OperatingLossCarryforwardsTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherAssetsCurrent": {
     "auth_ref": [
      "r69",
      "r530"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current assets classified as other.",
        "label": "Other current assets"
       }
      }
     },
     "localname": "OtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r54"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other assets"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "auth_ref": [
      "r71"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveLoss": {
       "order": 2.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": "Foreign currency translation adjustment, net of tax",
        "terseLabel": "Foreign currency translation adjustment, net of tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity",
      "http://transact-tech.com/role/ConsolidatedStatementsOfComprehensiveLoss"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherIntangibleAssetsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intangible assets classified as other.",
        "label": "Other [Member]"
       }
      }
     },
     "localname": "OtherIntangibleAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherLiabilitiesCurrent": {
     "auth_ref": [
      "r10",
      "r11",
      "r59",
      "r530"
     ],
     "calculation": {
      "http://transact-tech.com/role/AccruedLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "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"
       }
      }
     },
     "localname": "OtherLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/AccruedLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesMember": {
     "auth_ref": [
      "r483",
      "r485"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other liabilities.",
        "label": "Other Liabilities [Member]"
       }
      }
     },
     "localname": "OtherLiabilitiesMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r63"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "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"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r98"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "order": 3.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, net"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PatentsMember": {
     "auth_ref": [
      "r476"
     ],
     "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]"
       }
      }
     },
     "localname": "PatentsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued liabilities [Abstract]"
       }
      }
     },
     "localname": "PayablesAndAccrualsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfEquity": {
     "auth_ref": [
      "r105"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow to reacquire common and preferred stock.",
        "label": "Payments for Repurchase of Equity",
        "negatedLabel": "Purchases of common stock for treasury"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfEquity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForSoftware": {
     "auth_ref": [
      "r102"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with the development, modification or acquisition of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization.",
        "label": "Payments for Software",
        "negatedLabel": "Additions to capitalized software"
       }
      }
     },
     "localname": "PaymentsForSoftware",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDividendsCommonStock": {
     "auth_ref": [
      "r105"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.",
        "label": "Payments of Ordinary Dividends, Common Stock",
        "negatedLabel": "Payment of dividends on common stock"
       }
      }
     },
     "localname": "PaymentsOfDividendsCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfLoanCosts": {
     "auth_ref": [
      "r107"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for loan origination associated cost which is usually collected through escrow.",
        "label": "Payments of Loan Costs",
        "negatedTerseLabel": "Payment of bank financing costs"
       }
      }
     },
     "localname": "PaymentsOfLoanCosts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfStockIssuanceCosts": {
     "auth_ref": [
      "r107"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security.",
        "label": "Payments of Stock Issuance Costs",
        "negatedLabel": "Payment of common stock issuance costs"
       }
      }
     },
     "localname": "PaymentsOfStockIssuanceCosts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r102"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 3.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": "Capital expenditures"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r379",
      "r413"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by plan name for share-based payment arrangement.",
        "label": "Plan Name [Axis]"
       }
      }
     },
     "localname": "PlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PlanNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement.",
        "label": "Plan Name [Domain]"
       }
      }
     },
     "localname": "PlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r31",
      "r327"
     ],
     "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 value (in dollars per share)"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r31"
     ],
     "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 (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesIssued": {
     "auth_ref": [
      "r31",
      "r327"
     ],
     "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 (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "auth_ref": [
      "r31"
     ],
     "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 (in shares)"
       }
      }
     },
     "localname": "PreferredStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r31",
      "r530"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "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 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",
        "terseLabel": "Preferred stock"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidTaxes": {
     "auth_ref": [
      "r6",
      "r8",
      "r249",
      "r250"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 6.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 income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Prepaid income taxes"
       }
      }
     },
     "localname": "PrepaidTaxes",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrimeRateMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate charged by financial institutions to their most creditworthy borrowers.",
        "label": "Prime Rate [Member]"
       }
      }
     },
     "localname": "PrimeRateMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProceedsFromCollectionOfNotesReceivable": {
     "auth_ref": [
      "r100"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with principal collections from a borrowing supported by a written promise to pay an obligation.",
        "label": "Proceeds from Collection of Notes Receivable",
        "terseLabel": "Collection of note receivable"
       }
      }
     },
     "localname": "ProceedsFromCollectionOfNotesReceivable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/NoteReceivableDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "auth_ref": [
      "r103"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the additional capital contribution to the entity.",
        "label": "Proceeds from the issuance of common stock",
        "terseLabel": "Proceeds from Public Offering"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows",
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfOtherLongTermDebt": {
     "auth_ref": [
      "r104"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from issuance of long-term debt classified as other.",
        "label": "Long-term debt borrowings"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfOtherLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromLinesOfCredit": {
     "auth_ref": [
      "r104",
      "r128"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.",
        "label": "Revolving credit line borrowings"
       }
      }
     },
     "localname": "ProceedsFromLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "auth_ref": [
      "r101"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.",
        "label": "Proceeds from sale of fixed assets"
       }
      }
     },
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r103",
      "r414"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "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 option exercises",
        "terseLabel": "Cash received from exercise of stock options"
       }
      }
     },
     "localname": "ProceedsFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows",
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyLiabilityLineItems": {
     "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": "Product Warranty Liability [Line Items]"
       }
      }
     },
     "localname": "ProductWarrantyLiabilityLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProductWarrantyLiabilityTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about product warranty liability, including, but not limited to, reductions in the liability for payments made under the warranty, changes in the liability for accruals related to product warranties issued, and changes in the liability for accruals related to preexisting warranties.",
        "label": "Product Warranty Liability [Table]"
       }
      }
     },
     "localname": "ProductWarrantyLiabilityTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fixed assets, net [Abstract]",
        "terseLabel": "Fixed assets [Abstract]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r53",
      "r269"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Long-Lived Tangible Asset [Axis]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "auth_ref": [
      "r271",
      "r594",
      "r595",
      "r596"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "terseLabel": "Fixed assets, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r52",
      "r267"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business 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, Gross",
        "terseLabel": "Fixed assets"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "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": "Property, Plant and Equipment [Line Items]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r21",
      "r22",
      "r269",
      "r530",
      "r562",
      "r572"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsNoncurrent",
       "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": "Fixed assets, net",
        "terseLabel": "Fixed assets, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/FixedAssetsNetDetails",
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNetByTypeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Net, by Type [Abstract]",
        "terseLabel": "Fixed assets [Abstract]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNetByTypeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "auth_ref": [
      "r51",
      "r269",
      "r594",
      "r595"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "terseLabel": "Fixed assets"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "auth_ref": [
      "r21",
      "r269"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table Text Block]",
        "verboseLabel": "Fixed Assets, Net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r21",
      "r267"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.",
        "label": "Long-Lived Tangible Asset [Domain]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.",
        "label": "Estimated useful life"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r92",
      "r242"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Additions charged to costs and expenses"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesAllowanceForDoubtfulAccountsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProvisionForLoanLeaseAndOtherLosses": {
     "auth_ref": [
      "r113",
      "r234",
      "r558"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense related loan transactions, lease transactions, credit loss from transactions other than loan and lease transactions, and other loss based on assessment of uncollectability from the counterparty to reduce the account to their net realizable value.",
        "label": "Provision for Loan, Lease, and Other Losses",
        "terseLabel": "(Recovery of) provision for doubtful accounts"
       }
      }
     },
     "localname": "ProvisionForLoanLeaseAndOtherLosses",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_QuarterlyFinancialInformationDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Quarterly results of operations (unaudited) [Abstract]"
       }
      }
     },
     "localname": "QuarterlyFinancialInformationDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_QuarterlyFinancialInformationTextBlock": {
     "auth_ref": [
      "r175",
      "r176"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.",
        "label": "Quarterly results of operations (unaudited)"
       }
      }
     },
     "localname": "QuarterlyFinancialInformationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnaudited"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy": {
     "auth_ref": [
      "r42",
      "r236"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for determining the allowance for doubtful accounts for trade and other accounts receivable balances, and when impairments, charge-offs or recoveries are recognized.",
        "label": "Receivables, Trade and Other Accounts Receivable, Allowance for Doubtful Accounts, Policy [Policy Text Block]",
        "terseLabel": "Allowance for doubtful accounts"
       }
      }
     },
     "localname": "ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward": {
     "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": "Unrecognized tax benefits [Roll Forward]"
       }
      }
     },
     "localname": "ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RepaymentsOfLinesOfCredit": {
     "auth_ref": [
      "r106",
      "r128"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 8.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": "Revolving credit line payments"
       }
      }
     },
     "localname": "RepaymentsOfLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r428",
      "r541",
      "r610"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "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": "Engineering, design and product development",
        "terseLabel": "Research and development expense"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Development Expense [Abstract]",
        "terseLabel": "Engineering, design and product development [Abstract]"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesEngineeringDesignAndProductDevelopmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpensePolicy": {
     "auth_ref": [
      "r428"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for costs it has 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.",
        "label": "Research and Development Expense, Policy [Policy Text Block]",
        "terseLabel": "Engineering, design and product development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ResearchMember": {
     "auth_ref": [
      "r452"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Research tax credit carryforwards arising from certain qualifying expenditures incurred to develop new products and processes.",
        "label": "R&amp;D Credit [Member]"
       }
      }
     },
     "localname": "ResearchMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "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 Share Units [Member]"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r36",
      "r337",
      "r418",
      "r530",
      "r570",
      "r588",
      "r590"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 6.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"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r0",
      "r142",
      "r143",
      "r144",
      "r146",
      "r152",
      "r154",
      "r240",
      "r415",
      "r416",
      "r417",
      "r458",
      "r459",
      "r487",
      "r585",
      "r587"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r201",
      "r202",
      "r213",
      "r218",
      "r219",
      "r225",
      "r226",
      "r229",
      "r355",
      "r356",
      "r542"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "order": 1.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": "Net sales"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "auth_ref": [
      "r125",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r365"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue from contract with customer.",
        "label": "Revenue recognition"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenuePerformanceObligationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Performance Obligation [Abstract]",
        "terseLabel": "Remaining performance obligations [Abstract]"
       }
      }
     },
     "localname": "RevenuePerformanceObligationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "auth_ref": [
      "r345"
     ],
     "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": "Remaining performance obligations"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails"
     ],
     "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]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "auth_ref": [
      "r346"
     ],
     "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": "Expected timing of satisfaction, period"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "auth_ref": [
      "r346"
     ],
     "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]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails"
     ],
     "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]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesRevenueRecognitionRemainingPerformanceObligationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": {
     "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": "Revenues from External Customers and Long-Lived Assets [Line Items]"
       }
      }
     },
     "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RisksAndUncertaintiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risks and Uncertainties [Abstract]",
        "terseLabel": "Concentration of credit risk [Abstract]"
       }
      }
     },
     "localname": "RisksAndUncertaintiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SalesRevenueNetMember": {
     "auth_ref": [
      "r190",
      "r229"
     ],
     "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": "Sales [Member]"
       }
      }
     },
     "localname": "SalesRevenueNetMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of accrued liabilities.",
        "label": "Schedule of Accrued Liabilities [Table Text Block]",
        "terseLabel": "Accrued Liabilities"
       }
      }
     },
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/AccruedLiabilitiesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "auth_ref": [
      "r167"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities.",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]"
       }
      }
     },
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "auth_ref": [
      "r457"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.",
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "terseLabel": "Components of Income Tax Benefit"
       }
      }
     },
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock": {
     "auth_ref": [
      "r233",
      "r244"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allowance for credit loss of financing receivable, classified as current.",
        "label": "Financing Receivable, Current, Allowance for Credit Loss [Table Text Block]",
        "terseLabel": "Allowance for Doubtful Accounts"
       }
      }
     },
     "localname": "ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable": {
     "auth_ref": [
      "r366",
      "r368",
      "r379",
      "r413"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule, table or text reflecting equity-based arrangements (such as stock or unit options and stock or unit awards) with individual employees, which are generally based on employment contracts between the entity and one or more selected officers or key employees, and which contain a promise by the employer to pay certain equity-based awards at future dates, sometimes including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period, the number of shares or units issued during the period under such arrangements, and the carrying amount as of the balance sheet date of the related liability.",
        "label": "Schedule of Deferred Compensation Arrangement with Individual, Share-based Payments [Table]"
       }
      }
     },
     "localname": "ScheduleOfDeferredCompensationArrangementWithIndividualShareBasedPaymentsTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansRestrictedStockDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [
      "r448"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.",
        "label": "Deferred Tax Assets and Liabilities"
       }
      }
     },
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r166"
     ],
     "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": "Earnings per Share"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "auth_ref": [
      "r435"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.",
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "terseLabel": "Statutory to Effective Tax Rate Reconciliation"
       }
      }
     },
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "auth_ref": [
      "r378",
      "r409",
      "r420"
     ],
     "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": "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://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r256",
      "r260",
      "r543"
     ],
     "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://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r256",
      "r260"
     ],
     "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": "Identifiable Intangible Assets"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r13",
      "r47",
      "r48",
      "r49"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/InventoriesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "auth_ref": [
      "r278"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.",
        "label": "Schedule of Product Warranty Liability [Table Text Block]",
        "terseLabel": "Product Warranty Liability"
       }
      }
     },
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "auth_ref": [
      "r53",
      "r269"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table]"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/FixedAssetsNetDetails",
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": {
     "auth_ref": [
      "r174"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.",
        "label": "Quarterly Financial Information [Table Text Block]",
        "terseLabel": "Quarterly Results of Operations"
       }
      }
     },
     "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/QuarterlyResultsOfOperationsUnauditedTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock": {
     "auth_ref": [
      "r93",
      "r228"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information concerning material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material.  An entity may also provide subtotals of geographic information about groups of countries.",
        "label": "Net Sales and Fixed Assets by Geographic Area"
       }
      }
     },
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": {
     "auth_ref": [
      "r86",
      "r228"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material.  An entity may also provide subtotals of geographic information about groups of countries.",
        "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r379",
      "r413"
     ],
     "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]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r386",
      "r398",
      "r400"
     ],
     "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": "Stock Option Activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "auth_ref": [
      "r403"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.",
        "label": "Assumptions Used in Option Valuation Calculations"
       }
      }
     },
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": {
     "auth_ref": [
      "r187",
      "r190",
      "r191",
      "r192",
      "r490",
      "r492"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.",
        "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]",
        "terseLabel": "Concentration of Credit Risk"
       }
      }
     },
     "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SecuredDebt": {
     "auth_ref": [
      "r28",
      "r550",
      "r568"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date, including the current and noncurrent portions, of collateralized debt obligations (with maturities initially due after one year or beyond the operating cycle, if longer). Such obligations include mortgage loans, chattel loans, and any other borrowings secured by assets of the borrower.",
        "label": "Secured Debt",
        "terseLabel": "Balance outstanding"
       }
      }
     },
     "localname": "SecuredDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographic area information [Abstract]",
        "terseLabel": "Segment reporting [Abstract]"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesSegmentReportingDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r197",
      "r199",
      "r200",
      "r205",
      "r206",
      "r217",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r228",
      "r229",
      "r230"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.",
        "label": "Geographic area information"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingPolicyPolicyTextBlock": {
     "auth_ref": [
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r212",
      "r226"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for segment reporting.",
        "label": "Segment reporting"
       }
      }
     },
     "localname": "SegmentReportingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentsGeographicalAreasAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segments, Geographical Areas [Abstract]",
        "terseLabel": "Geographical area information [Abstract]"
       }
      }
     },
     "localname": "SegmentsGeographicalAreasAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/GeographicAreaInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SellingAndMarketingExpense": {
     "auth_ref": [],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations": {
       "order": 2.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"
       }
      }
     },
     "localname": "SellingAndMarketingExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SeriesAPreferredStockMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Outstanding nonredeemable series A preferred stock or outstanding series A preferred stock. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.",
        "label": "Series A Preferred Stock [Member]"
       }
      }
     },
     "localname": "SeriesAPreferredStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedArrangementsToObtainGoodsAndServicesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Payment Arrangement, Disclosure [Abstract]",
        "terseLabel": "Stock incentive plans [Abstract]"
       }
      }
     },
     "localname": "ShareBasedArrangementsToObtainGoodsAndServicesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r113"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 2.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 compensation expense"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based compensation [Abstract]"
       }
      }
     },
     "localname": "ShareBasedCompensationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansSharebasedCompensationExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "auth_ref": [
      "r380"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.",
        "label": "Vesting period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r397"
     ],
     "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": "Forfeited (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r396"
     ],
     "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": "Granted (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r395"
     ],
     "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": "Outstanding, end of period (in dollars per share)",
        "periodStartLabel": "Outstanding, beginning of period (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "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, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]",
        "terseLabel": "Weighted Average Grant Stock Price [Abstract]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms": {
     "auth_ref": [
      "r401"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for equity-based awards excluding options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Outstanding, Weighted Average Remaining Contractual Terms",
        "terseLabel": "Restricted stock units vested and expected to vest"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assumptions used in valuation model [Abstract]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "auth_ref": [
      "r406"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate",
        "terseLabel": "Dividend yield"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "auth_ref": [
      "r405"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.",
        "label": "Expected volatility"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "auth_ref": [
      "r407"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.",
        "label": "Risk-free interest rate"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "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]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised": {
     "auth_ref": [
      "r392"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of non-option equity instruments exercised by participants.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Exercised",
        "negatedLabel": "Exercised (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations": {
     "auth_ref": [
      "r394"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares under non-option equity instrument agreements for which rights to exercise lapsed.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Expirations",
        "terseLabel": "Expired (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures": {
     "auth_ref": [
      "r393"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares under non-option equity instrument agreements that were cancelled as a result of occurrence of a terminating event.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Forfeitures",
        "negatedLabel": "Forfeited (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted": {
     "auth_ref": [
      "r391"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Net number of non-option equity instruments granted to participants.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Granted",
        "terseLabel": "Granted (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber": {
     "auth_ref": [
      "r387",
      "r389"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of equity instruments other than options outstanding, including both vested and non-vested instruments.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding, Number",
        "periodEndLabel": "Outstanding, end of period (in shares)",
        "periodStartLabel": "Outstanding, beginning of period (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward": {
     "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, Non-Option Equity Instruments, Outstanding [Roll Forward]",
        "terseLabel": "Number of Units [Roll Forward]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "auth_ref": [
      "r382"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement.",
        "label": "Number of shares authorized (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "auth_ref": [
      "r413"
     ],
     "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": "Number of shares available for grant (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "auth_ref": [
      "r390"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number",
        "terseLabel": "Options exercisable, end of period (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r390"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.",
        "label": "Options exercisable, end of period (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "auth_ref": [
      "r399"
     ],
     "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": "Intrinsic value of stock options exercised"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": {
     "auth_ref": [
      "r394"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Expirations in Period",
        "negatedLabel": "Expired (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": {
     "auth_ref": [
      "r393"
     ],
     "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": "Forfeited (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "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": "Granted (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r388",
      "r413"
     ],
     "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": "Outstanding, end of period (in shares)",
        "periodStartLabel": "Outstanding, beginning of period (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "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": "Number of Shares [Roll Forward]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r387"
     ],
     "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": "Outstanding, end of period (in dollars per share)",
        "periodStartLabel": "Outstanding, beginning of period (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Exercise Price [Abstract]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r402"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Options vested or expected to vest (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": {
     "auth_ref": [
      "r400"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value",
        "terseLabel": "Options vested and expected to vest"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock": {
     "auth_ref": [
      "r400"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of number, weighted-average exercise price or conversion ratio, aggregate intrinsic value, and weighted-average remaining contractual term for outstanding and exercisable options that are fully vested and expected to vest. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding and Exercisable [Table Text Block]",
        "terseLabel": "Equity Awards Vested and Expected to Vest"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": {
     "auth_ref": [
      "r401"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number",
        "terseLabel": "Options vested or expected to vest (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r377",
      "r383"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Equity Award [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "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": "Exercised (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price",
        "terseLabel": "Expired (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "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": "Forfeited (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "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": "Granted (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "auth_ref": [
      "r379",
      "r384"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.",
        "label": "Share-based payments"
       }
      }
     },
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intrinsic value of vested 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, Aggregate Intrinsic Value, Vested",
        "terseLabel": "Restricted stock units vested and expected to vest"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": {
     "auth_ref": [
      "r381"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Term of award"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails",
      "http://transact-tech.com/role/StockIncentivePlansStockIncentivePlansDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "auth_ref": [
      "r404",
      "r419"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Expected option term"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "auth_ref": [
      "r413"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.",
        "label": "Options exercisable, end of period"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r413"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term",
        "terseLabel": "Options exercisable, end of period"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average grant-date fair value of non-vested options outstanding.",
        "label": "Weighted average fair value of grants (in dollars per share)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansAssumptionsUsedInOptionValuationCalculationsDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r401"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.",
        "label": "Options vested and expected to vest"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1": {
     "auth_ref": [
      "r385"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value",
        "terseLabel": "Fair value of all awards vested"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation",
        "negatedLabel": "Relinquishment of stock awards and deferred stock units to pay withholding taxes (in shares)"
       }
      }
     },
     "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StandardProductWarrantyPolicy": {
     "auth_ref": [
      "r274"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.",
        "label": "Standard Product Warranty, Policy [Policy Text Block]",
        "terseLabel": "Warranty"
       }
      }
     },
     "localname": "StandardProductWarrantyPolicy",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StateAndLocalJurisdictionMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of a state or local government entitled to levy and collect income taxes from the entity.",
        "label": "State and Local Jurisdiction [Member]",
        "terseLabel": "State [Member]"
       }
      }
     },
     "localname": "StateAndLocalJurisdictionMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StatementClassOfStockAxis": {
     "auth_ref": [
      "r30",
      "r31",
      "r32",
      "r127",
      "r129",
      "r157",
      "r161",
      "r162",
      "r164",
      "r166",
      "r178",
      "r179",
      "r180",
      "r239",
      "r279",
      "r284",
      "r285",
      "r286",
      "r292",
      "r293",
      "r327",
      "r328",
      "r330",
      "r331",
      "r332",
      "r493",
      "r619"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by the different classes of stock of the entity.",
        "label": "Class of Stock [Axis]"
       }
      }
     },
     "localname": "StatementClassOfStockAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r0",
      "r66",
      "r82",
      "r83",
      "r84",
      "r142",
      "r143",
      "r144",
      "r146",
      "r152",
      "r154",
      "r177",
      "r240",
      "r332",
      "r337",
      "r415",
      "r416",
      "r417",
      "r458",
      "r459",
      "r487",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r585",
      "r586",
      "r587",
      "r622"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "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]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS 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": "CONSOLIDATED BALANCE SHEETS [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS [Abstract]"
       }
      }
     },
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY [Abstract]"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r142",
      "r143",
      "r144",
      "r177",
      "r542"
     ],
     "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]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockCompensationPlanMember": {
     "auth_ref": [
      "r167"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement in which award of equity shares are granted. Arrangement includes, but is not limited to, grantor incurring liability for product and service based on price of its shares.",
        "label": "Stock Awards [Member]"
       }
      }
     },
     "localname": "StockCompensationPlanMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "auth_ref": [
      "r31",
      "r32",
      "r332",
      "r337"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of new stock issued during the period.",
        "label": "Issuance of common stock, net of issuance cost (in shares)",
        "terseLabel": "Shares sold in Public Offering (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity",
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": {
     "auth_ref": [
      "r31",
      "r32",
      "r332",
      "r337"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited.",
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures",
        "verboseLabel": "Issuance of common stock on restricted stock units (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r31",
      "r32",
      "r332",
      "r337",
      "r392"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Issuance of shares from exercise of stock options (in shares)",
        "negatedLabel": "Exercised (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity",
      "http://transact-tech.com/role/StockIncentivePlansStockOptionsDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "auth_ref": [
      "r31",
      "r32",
      "r332",
      "r337"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.",
        "label": "Issuance of common stock, net of issuance cost"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": {
     "auth_ref": [
      "r332",
      "r337"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited.",
        "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures",
        "verboseLabel": "Issuance of common stock on restricted stock units"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Value of stock issued as a result of the exercise of stock options, after deduction of related income tax (expense) benefit.",
        "label": "Stock Issued, Value, Stock Options Exercised, Net of Tax Benefit (Expense)",
        "terseLabel": "Issuance of shares from exercise of stock options"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "auth_ref": [
      "r31",
      "r32",
      "r332",
      "r337"
     ],
     "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": "Common stock repurchased (in shares)"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodShares",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockRepurchaseProgramDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "auth_ref": [
      "r31",
      "r32",
      "r332",
      "r337"
     ],
     "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": "Value of common stock repurchased"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockRepurchaseProgramDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r32",
      "r38",
      "r39",
      "r129",
      "r237",
      "r239",
      "r493",
      "r530"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "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 shareholders' equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholders' equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets",
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "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": [
      "r531",
      "r532"
     ],
     "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://transact-tech.com/role/SubsequentEvents"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock": {
     "auth_ref": [
      "r438"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of unrecognized tax benefits for which a material change is reasonably possible in the next twelve months, typically including the nature of the uncertainty, the event(s) that could cause a material change, and an estimate of the range of the reasonably possible change or a statement that an estimate of the range cannot be made. An unrecognized tax benefit is the difference between a tax position taken in a tax return and the amounts recognized in the financial statements for which it is more likely than not, based on the technical merits of the position, that the tax position will not be sustained upon examination.",
        "label": "Summary of Positions for which Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Table Text Block]",
        "terseLabel": "Unrecognized Tax Benefits"
       }
      }
     },
     "localname": "SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SummaryOfValuationAllowanceTextBlock": {
     "auth_ref": [
      "r447"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of valuation allowances to reduce deferred tax assets to net realizable value, including identification of the deferred tax asset more likely than not will not be fully realized and the corresponding amount of the valuation allowance.",
        "label": "Valuation Allowance on Deferred Tax Assets"
       }
      }
     },
     "localname": "SummaryOfValuationAllowanceTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "Supplemental cash flow information:"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxCreditCarryforwardAmount": {
     "auth_ref": [
      "r451"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.",
        "label": "Tax credit carryforward"
       }
      }
     },
     "localname": "TaxCreditCarryforwardAmount",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TaxCreditCarryforwardAxis": {
     "auth_ref": [
      "r452"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by specific tax credit related to an unused tax credit.",
        "label": "Tax Credit Carryforward [Axis]"
       }
      }
     },
     "localname": "TaxCreditCarryforwardAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TaxCreditCarryforwardNameDomain": {
     "auth_ref": [
      "r452"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name of the tax credit carryforward.",
        "label": "Tax Credit Carryforward, Name [Domain]"
       }
      }
     },
     "localname": "TaxCreditCarryforwardNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesComponentsOfIncomeTaxBenefitDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TechnologyBasedIntangibleAssetsMember": {
     "auth_ref": [
      "r472"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Technology-based intangible assets, including, but not limited to, patented technology, unpatented technology, and developed technology rights.",
        "label": "Purchased Technology [Member]"
       }
      }
     },
     "localname": "TechnologyBasedIntangibleAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ToolsDiesAndMoldsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Equipment commonly used to cut, shape, and form metal and other materials into goods for sale.",
        "label": "Tooling [Member]"
       }
      }
     },
     "localname": "ToolsDiesAndMoldsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesFixedAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TrademarksMember": {
     "auth_ref": [
      "r473"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style.",
        "label": "Trademarks [Member]",
        "terseLabel": "Trademark [Member]"
       }
      }
     },
     "localname": "TrademarksMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockAcquiredAverageCostPerShare": {
     "auth_ref": [
      "r338"
     ],
     "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 purchase price of common stock repurchased (in dollars per share)"
       }
      }
     },
     "localname": "TreasuryStockAcquiredAverageCostPerShare",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockRepurchaseProgramDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_TreasuryStockMember": {
     "auth_ref": [
      "r65",
      "r338"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.",
        "label": "Treasury Stock [Member]"
       }
      }
     },
     "localname": "TreasuryStockMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockShares": {
     "auth_ref": [
      "r65",
      "r338"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.",
        "label": "Treasury stock (in shares)"
       }
      }
     },
     "localname": "TreasuryStockShares",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockTextBlock": {
     "auth_ref": [
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock.",
        "label": "Stock repurchase program"
       }
      }
     },
     "localname": "TreasuryStockTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/StockRepurchaseProgram"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TreasuryStockValue": {
     "auth_ref": [
      "r65",
      "r338",
      "r339"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.",
        "label": "Treasury Stock, Value",
        "negatedLabel": "Treasury stock, at cost, 4,044,842 shares"
       }
      }
     },
     "localname": "TreasuryStockValue",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "auth_ref": [
      "r429",
      "r441"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unrecognized tax benefits.",
        "label": "Unrecognized Tax Benefits",
        "periodEndLabel": "Unrecognized tax benefits, end of period",
        "periodStartLabel": "Unrecognized tax benefits, beginning of period"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefits",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease": {
     "auth_ref": [
      "r441"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in unrecognized tax benefits attributable to uncertain tax positions taken in tax returns.",
        "label": "Tax positions taken during the current period"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsPeriodIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations": {
     "auth_ref": [
      "r442"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from lapses of applicable statutes of limitations.",
        "label": "Unrecognized Tax Benefits, Reduction Resulting from Lapse of Applicable Statute of Limitations",
        "negatedLabel": "Lapse of statute of limitations"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate": {
     "auth_ref": [
      "r443"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate.",
        "label": "Unrecognized Tax Benefits that Would Impact Effective Tax Rate",
        "terseLabel": "Unrecognized tax benefits that would favorably affect effective income tax rate if recognized"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnsecuredLongTermDebt": {
     "auth_ref": [
      "r62"
     ],
     "calculation": {
      "http://transact-tech.com/role/ConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of uncollateralized debt obligation (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.",
        "label": "Long-term debt"
       }
      }
     },
     "localname": "UnsecuredLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnusualOrInfrequentItemAxis": {
     "auth_ref": [
      "r99"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by an event or transaction that is unusual in nature or infrequent in occurrence, or both.",
        "label": "Unusual or Infrequent Item, or Both [Axis]"
       }
      }
     },
     "localname": "UnusualOrInfrequentItemAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_UnusualOrInfrequentItemDomain": {
     "auth_ref": [
      "r99"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Event or transaction that is unusual in nature or infrequent in occurrence, or both.",
        "label": "Unusual or Infrequent Item, or Both [Domain]"
       }
      }
     },
     "localname": "UnusualOrInfrequentItemDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_UnusualOrInfrequentItemLineItems": {
     "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": "Unusual or Infrequent Item, or Both [Line Items]"
       }
      }
     },
     "localname": "UnusualOrInfrequentItemLineItems",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_UnusualOrInfrequentItemTable": {
     "auth_ref": [
      "r99"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about the nature and financial statement effect of an event or transaction that is unusual in nature or infrequent in occurrence, or both.",
        "label": "Unusual or Infrequent Item, or Both [Table]"
       }
      }
     },
     "localname": "UnusualOrInfrequentItemTable",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/DescriptionOfBusinessDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r182",
      "r183",
      "r185",
      "r186",
      "r193",
      "r194",
      "r195"
     ],
     "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"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ValuationAllowanceOperatingLossCarryforwardsMember": {
     "auth_ref": [
      "r135",
      "r136",
      "r137",
      "r139",
      "r140"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Valuation allowance of deferred tax asset attributable to operating loss carryforward.",
        "label": "Foreign Net Operating Loss Carryforwards [Member]"
       }
      }
     },
     "localname": "ValuationAllowanceOperatingLossCarryforwardsMember",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesBalance": {
     "auth_ref": [
      "r135",
      "r140"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount",
        "periodEndLabel": "Balance, end of period",
        "periodStartLabel": "Balance, beginning of period"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesBalance",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": {
     "auth_ref": [
      "r138"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.",
        "label": "Additions charged to income tax provision"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesDeductions": {
     "auth_ref": [
      "r139"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of decrease in valuation and qualifying accounts and reserves.",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction",
        "negatedLabel": "Reductions credited to income tax provision"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesDeductions",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesDomain": {
     "auth_ref": [
      "r135",
      "r136",
      "r137",
      "r139",
      "r140"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Valuation and qualifying accounts and reserves.",
        "label": "Valuation Allowances and Reserves [Domain]"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesTypeAxis": {
     "auth_ref": [
      "r135",
      "r136",
      "r137",
      "r139",
      "r140"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by valuation and qualifying accounts and reserves.",
        "label": "Valuation Allowances and Reserves Type [Axis]"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesValuationAllowanceOnDeferredTaxAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of variable rate.",
        "label": "Variable Rate [Axis]"
       }
      }
     },
     "localname": "VariableRateAxis",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.",
        "label": "Variable Rate [Domain]"
       }
      }
     },
     "localname": "VariableRateDomain",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r156",
      "r166"
     ],
     "calculation": {
      "http://transact-tech.com/role/EarningsPerShareDetails": {
       "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": "Diluted (in shares)",
        "totalLabel": "Diluted: Weighted average common and common equivalent shares outstanding (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r155",
      "r166"
     ],
     "calculation": {
      "http://transact-tech.com/role/EarningsPerShareDetails": {
       "order": 1.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": "Basic: Weighted average common shares outstanding (in shares)",
        "verboseLabel": "Basic (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/ConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]",
        "terseLabel": "Shares [Abstract]"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2021-01-31",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    }
   },
   "unitCount": 8
  }
 },
 "std_ref": {
  "r0": {
   "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"
  },
  "r1": {
   "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"
  },
  "r10": {
   "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"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3179-108585"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3179-108585"
  },
  "r102": {
   "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"
  },
  "r103": {
   "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"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585"
  },
  "r105": {
   "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"
  },
  "r106": {
   "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"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3367-108585"
  },
  "r109": {
   "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"
  },
  "r11": {
   "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"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585"
  },
  "r112": {
   "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"
  },
  "r113": {
   "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"
  },
  "r114": {
   "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"
  },
  "r115": {
   "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"
  },
  "r116": {
   "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"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4273-108586"
  },
  "r118": {
   "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"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4304-108586"
  },
  "r12": {
   "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"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4313-108586"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4332-108586"
  },
  "r122": {
   "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"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(c))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r127": {
   "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"
  },
  "r128": {
   "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"
  },
  "r129": {
   "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"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r133": {
   "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"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column C)(1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 201.5-02(24))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "http://asc.fasb.org/topic&trid=2122369"
  },
  "r142": {
   "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"
  },
  "r143": {
   "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"
  },
  "r144": {
   "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"
  },
  "r145": {
   "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"
  },
  "r146": {
   "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"
  },
  "r147": {
   "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"
  },
  "r148": {
   "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"
  },
  "r149": {
   "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"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 201.5-02(25))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r150": {
   "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"
  },
  "r151": {
   "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"
  },
  "r152": {
   "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"
  },
  "r153": {
   "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"
  },
  "r154": {
   "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"
  },
  "r155": {
   "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"
  },
  "r156": {
   "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"
  },
  "r157": {
   "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"
  },
  "r158": {
   "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"
  },
  "r159": {
   "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"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 201.5-02(26))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r160": {
   "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"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1278-109256"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "55",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e2626-109256"
  },
  "r163": {
   "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"
  },
  "r164": {
   "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"
  },
  "r165": {
   "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"
  },
  "r166": {
   "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"
  },
  "r167": {
   "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"
  },
  "r168": {
   "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"
  },
  "r169": {
   "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"
  },
  "r17": {
   "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"
  },
  "r170": {
   "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"
  },
  "r171": {
   "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"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "http://asc.fasb.org/topic&trid=2144383"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=124437754&loc=d3e543-108305"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=124502072&loc=d3e1280-108306"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=124502072&loc=SL124452896-108306"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "270",
   "URI": "http://asc.fasb.org/topic&trid=2126967"
  },
  "r177": {
   "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"
  },
  "r178": {
   "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"
  },
  "r179": {
   "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"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(10))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r182": {
   "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"
  },
  "r183": {
   "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"
  },
  "r184": {
   "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"
  },
  "r185": {
   "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"
  },
  "r186": {
   "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"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592"
  },
  "r188": {
   "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"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(11))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r190": {
   "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"
  },
  "r191": {
   "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"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592"
  },
  "r193": {
   "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"
  },
  "r194": {
   "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"
  },
  "r195": {
   "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"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "http://asc.fasb.org/topic&trid=2134479"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8657-108599"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8672-108599"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8721-108599"
  },
  "r2": {
   "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"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(12))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8721-108599"
  },
  "r201": {
   "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"
  },
  "r202": {
   "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"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599"
  },
  "r204": {
   "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"
  },
  "r205": {
   "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"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8844-108599"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599"
  },
  "r21": {
   "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"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599"
  },
  "r213": {
   "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"
  },
  "r214": {
   "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"
  },
  "r215": {
   "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"
  },
  "r216": {
   "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"
  },
  "r217": {
   "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"
  },
  "r218": {
   "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"
  },
  "r219": {
   "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"
  },
  "r22": {
   "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"
  },
  "r220": {
   "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"
  },
  "r221": {
   "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"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599"
  },
  "r223": {
   "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"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8981-108599"
  },
  "r225": {
   "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"
  },
  "r226": {
   "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"
  },
  "r227": {
   "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"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599"
  },
  "r229": {
   "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"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(15))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "http://asc.fasb.org/topic&trid=2134510"
  },
  "r231": {
   "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"
  },
  "r232": {
   "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"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5144-111524"
  },
  "r237": {
   "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"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/subtopic&trid=2196772"
  },
  "r239": {
   "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"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(16))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r240": {
   "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"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446"
  },
  "r242": {
   "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"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "http://asc.fasb.org/topic&trid=2126998"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=123349782&loc=d3e5879-108316"
  },
  "r25": {
   "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"
  },
  "r250": {
   "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"
  },
  "r251": {
   "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"
  },
  "r252": {
   "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"
  },
  "r253": {
   "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"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274"
  },
  "r255": {
   "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"
  },
  "r256": {
   "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"
  },
  "r257": {
   "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"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "((a)(1),(b))",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r260": {
   "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"
  },
  "r261": {
   "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"
  },
  "r262": {
   "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"
  },
  "r263": {
   "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"
  },
  "r264": {
   "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"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "350",
   "URI": "http://asc.fasb.org/topic&trid=2144416"
  },
  "r266": {
   "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"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r269": {
   "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"
  },
  "r27": {
   "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"
  },
  "r270": {
   "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"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "360",
   "URI": "http://asc.fasb.org/topic&trid=2155823"
  },
  "r272": {
   "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"
  },
  "r273": {
   "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"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1),(c)(5)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(3)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249"
  },
  "r279": {
   "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"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r280": {
   "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"
  },
  "r281": {
   "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"
  },
  "r282": {
   "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"
  },
  "r283": {
   "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"
  },
  "r284": {
   "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"
  },
  "r285": {
   "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"
  },
  "r286": {
   "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"
  },
  "r287": {
   "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"
  },
  "r288": {
   "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"
  },
  "r289": {
   "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"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(23))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r290": {
   "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"
  },
  "r291": {
   "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"
  },
  "r292": {
   "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"
  },
  "r293": {
   "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"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r297": {
   "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"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(27))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611"
  },
  "r309": {
   "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"
  },
  "r31": {
   "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"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1F",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r32": {
   "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"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1I",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611"
  },
  "r322": {
   "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"
  },
  "r323": {
   "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"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "http://asc.fasb.org/topic&trid=2208564"
  },
  "r327": {
   "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"
  },
  "r328": {
   "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"
  },
  "r329": {
   "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"
  },
  "r33": {
   "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"
  },
  "r330": {
   "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"
  },
  "r331": {
   "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"
  },
  "r332": {
   "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"
  },
  "r333": {
   "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"
  },
  "r334": {
   "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"
  },
  "r335": {
   "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"
  },
  "r336": {
   "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"
  },
  "r337": {
   "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"
  },
  "r338": {
   "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"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656"
  },
  "r34": {
   "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"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/subtopic&trid=2208821"
  },
  "r341": {
   "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"
  },
  "r342": {
   "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"
  },
  "r343": {
   "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"
  },
  "r344": {
   "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"
  },
  "r345": {
   "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"
  },
  "r346": {
   "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"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130561-203045"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130563-203045"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130563-203045"
  },
  "r35": {
   "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"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130564-203045"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045"
  },
  "r355": {
   "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"
  },
  "r356": {
   "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"
  },
  "r357": {
   "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"
  },
  "r358": {
   "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"
  },
  "r359": {
   "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"
  },
  "r36": {
   "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"
  },
  "r360": {
   "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"
  },
  "r361": {
   "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"
  },
  "r362": {
   "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"
  },
  "r363": {
   "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"
  },
  "r364": {
   "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"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "http://asc.fasb.org/topic&trid=49130388"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "http://asc.fasb.org/extlink&oid=6409875&loc=d3e20015-108363"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "http://asc.fasb.org/extlink&oid=6409961&loc=d3e20487-108367"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "710",
   "URI": "http://asc.fasb.org/extlink&oid=6409961&loc=d3e20517-108367"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "710",
   "URI": "http://asc.fasb.org/topic&trid=2127225"
  },
  "r37": {
   "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"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "712",
   "URI": "http://asc.fasb.org/topic&trid=2197446"
  },
  "r371": {
   "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"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "70",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942"
  },
  "r373": {
   "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"
  },
  "r374": {
   "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"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "715",
   "URI": "http://asc.fasb.org/topic&trid=2235017"
  },
  "r376": {
   "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"
  },
  "r377": {
   "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"
  },
  "r378": {
   "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"
  },
  "r379": {
   "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"
  },
  "r38": {
   "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"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r383": {
   "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"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b),(f)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r386": {
   "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"
  },
  "r387": {
   "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"
  },
  "r388": {
   "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"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r39": {
   "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"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r392": {
   "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"
  },
  "r393": {
   "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"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(4)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r395": {
   "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"
  },
  "r396": {
   "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"
  },
  "r397": {
   "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"
  },
  "r398": {
   "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"
  },
  "r399": {
   "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"
  },
  "r4": {
   "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"
  },
  "r40": {
   "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"
  },
  "r400": {
   "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"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r409": {
   "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"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r410": {
   "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"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(l)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r413": {
   "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"
  },
  "r414": {
   "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"
  },
  "r415": {
   "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"
  },
  "r416": {
   "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"
  },
  "r417": {
   "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"
  },
  "r418": {
   "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"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.D.2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r420": {
   "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"
  },
  "r421": {
   "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"
  },
  "r422": {
   "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"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=122142933&loc=d3e11374-113907"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "740",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120384911&loc=d3e23163-113944"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "http://asc.fasb.org/topic&trid=2228938"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "35",
   "Subparagraph": "(a)",
   "Topic": "720",
   "URI": "http://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "35",
   "Subparagraph": "(b)",
   "Topic": "720",
   "URI": "http://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848"
  },
  "r428": {
   "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"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=SL37586934-109318"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e32247-109318"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e32280-109318"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318"
  },
  "r434": {
   "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"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(4)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32847-109319"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32621-109319"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32632-109319"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319"
  },
  "r458": {
   "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"
  },
  "r459": {
   "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"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(5))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r461": {
   "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"
  },
  "r462": {
   "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"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.3)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817"
  },
  "r468": {
   "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"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "270",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "http://asc.fasb.org/topic&trid=2144680"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5227-128473"
  },
  "r473": {
   "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"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473"
  },
  "r475": {
   "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"
  },
  "r476": {
   "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"
  },
  "r477": {
   "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"
  },
  "r478": {
   "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"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r480": {
   "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"
  },
  "r481": {
   "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"
  },
  "r482": {
   "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"
  },
  "r483": {
   "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"
  },
  "r484": {
   "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"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "182",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=123421605&loc=SL5629052-113961"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=124256753&loc=SL5864739-113975"
  },
  "r487": {
   "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"
  },
  "r488": {
   "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"
  },
  "r489": {
   "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"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r490": {
   "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"
  },
  "r491": {
   "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"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611"
  },
  "r493": {
   "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"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=120253306&loc=d3e28228-110885"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=123602790&loc=d3e30226-110892"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=125521441&loc=d3e30690-110894"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=124440516&loc=d3e30840-110895"
  },
  "r498": {
   "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"
  },
  "r499": {
   "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"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r50": {
   "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"
  },
  "r500": {
   "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"
  },
  "r501": {
   "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"
  },
  "r502": {
   "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"
  },
  "r503": {
   "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"
  },
  "r504": {
   "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"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "830",
   "URI": "http://asc.fasb.org/topic&trid=2175825"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=124435984&loc=d3e28541-108399"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=124435984&loc=d3e28551-108399"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.13(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=123415192&loc=d3e39896-112707"
  },
  "r513": {
   "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"
  },
  "r514": {
   "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"
  },
  "r515": {
   "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"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918666-209980"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(1)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918673-209980"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918673-209980"
  },
  "r52": {
   "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"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918673-209980"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918701-209980"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/subtopic&trid=77888251"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=123408481&loc=SL77919140-209958"
  },
  "r528": {
   "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"
  },
  "r529": {
   "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"
  },
  "r53": {
   "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"
  },
  "r530": {
   "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"
  },
  "r531": {
   "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"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "http://asc.fasb.org/topic&trid=2122774"
  },
  "r533": {
   "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"
  },
  "r534": {
   "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"
  },
  "r535": {
   "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"
  },
  "r536": {
   "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"
  },
  "r537": {
   "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"
  },
  "r538": {
   "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"
  },
  "r539": {
   "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"
  },
  "r54": {
   "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"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "330",
   "Topic": "912",
   "URI": "http://asc.fasb.org/extlink&oid=6471895&loc=d3e55923-109411"
  },
  "r541": {
   "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"
  },
  "r542": {
   "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"
  },
  "r543": {
   "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"
  },
  "r544": {
   "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"
  },
  "r545": {
   "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"
  },
  "r546": {
   "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"
  },
  "r547": {
   "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"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(1))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r55": {
   "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"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r551": {
   "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"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(7))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r553": {
   "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"
  },
  "r554": {
   "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"
  },
  "r555": {
   "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"
  },
  "r556": {
   "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"
  },
  "r557": {
   "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"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.11)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.4)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a),20,24)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.9)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r561": {
   "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"
  },
  "r562": {
   "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"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823"
  },
  "r564": {
   "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"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r566": {
   "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"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r569": {
   "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"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r570": {
   "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"
  },
  "r571": {
   "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"
  },
  "r572": {
   "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"
  },
  "r573": {
   "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"
  },
  "r574": {
   "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"
  },
  "r575": {
   "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"
  },
  "r576": {
   "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"
  },
  "r577": {
   "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"
  },
  "r578": {
   "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"
  },
  "r579": {
   "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"
  },
  "r58": {
   "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"
  },
  "r580": {
   "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"
  },
  "r581": {
   "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"
  },
  "r582": {
   "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"
  },
  "r583": {
   "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"
  },
  "r584": {
   "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"
  },
  "r585": {
   "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"
  },
  "r586": {
   "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"
  },
  "r587": {
   "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"
  },
  "r588": {
   "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"
  },
  "r589": {
   "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"
  },
  "r59": {
   "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"
  },
  "r590": {
   "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"
  },
  "r591": {
   "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"
  },
  "r592": {
   "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"
  },
  "r593": {
   "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"
  },
  "r594": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Subparagraph": "(d)",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99779-112916"
  },
  "r595": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99893-112916"
  },
  "r596": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "360",
   "Topic": "958",
   "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=SL120174063-112916"
  },
  "r597": {
   "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"
  },
  "r598": {
   "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"
  },
  "r599": {
   "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"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)(4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765"
  },
  "r60": {
   "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"
  },
  "r600": {
   "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"
  },
  "r601": {
   "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"
  },
  "r602": {
   "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"
  },
  "r603": {
   "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"
  },
  "r604": {
   "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"
  },
  "r605": {
   "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"
  },
  "r606": {
   "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"
  },
  "r607": {
   "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"
  },
  "r608": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r609": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r610": {
   "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"
  },
  "r611": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128487-111756"
  },
  "r612": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r613": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r614": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r615": {
   "Name": "Form 10-K",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "310"
  },
  "r616": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f"
  },
  "r617": {
   "Name": "Form 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "240",
   "Subsection": "f"
  },
  "r618": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r619": {
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Paragraph": "(a)",
   "Publisher": "SEC",
   "Section": "1402"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r620": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r621": {
   "Name": "Securities Act",
   "Number": "230",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r622": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Topic": "848"
  },
  "r63": {
   "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"
  },
  "r64": {
   "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"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r66": {
   "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"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r69": {
   "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"
  },
  "r7": {
   "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"
  },
  "r70": {
   "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"
  },
  "r71": {
   "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"
  },
  "r72": {
   "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"
  },
  "r73": {
   "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"
  },
  "r74": {
   "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"
  },
  "r75": {
   "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"
  },
  "r76": {
   "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"
  },
  "r77": {
   "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"
  },
  "r78": {
   "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"
  },
  "r79": {
   "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"
  },
  "r8": {
   "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"
  },
  "r80": {
   "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"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL116659661-227067"
  },
  "r82": {
   "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"
  },
  "r83": {
   "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"
  },
  "r84": {
   "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"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227"
  },
  "r86": {
   "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"
  },
  "r87": {
   "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"
  },
  "r88": {
   "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"
  },
  "r89": {
   "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"
  },
  "r9": {
   "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"
  },
  "r90": {
   "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"
  },
  "r91": {
   "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"
  },
  "r92": {
   "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"
  },
  "r93": {
   "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"
  },
  "r94": {
   "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"
  },
  "r95": {
   "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"
  },
  "r96": {
   "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"
  },
  "r97": {
   "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"
  },
  "r98": {
   "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"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114868883&loc=SL114871943-224233"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>92
<FILENAME>0001017303-22-000014-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001017303-22-000014-xbrl.zip
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
M,NE*/-RFC44]HJ&@C@1:+7\-Y$ZK5>Q-B4("33.JD,)E[TW-C!22:FG]D4T
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
MGU=X&.I]#W(_<2,OIUD @4_S) 3@"?@L81!%KZB_+XK\EX)Z(+DH$4@&HM?
MZ2#DL3I>5DO719GC3DDK@?V(DA4UQSZ1'I90TD&<"U7,R 2Q95C"L$=17--
M"SE]<^C;<$?BX<*,TS$-Z@+K(_8E M2.KJUYC.H1R0LYU7-B4'")BQ8W\(I0
M<[)Q XWN+.%;SVU;,?XE0#SP(I:GL>.$&0UB#](T#^+,SVB$^[H7.*\0OR]D
M@@V#^/ & 'YYDWAN?*!;$+?!F=GY9)X++%IHG!*JP&(2027,(D.P$-!FP0D]
M,M5-M3&* ",$3)D+S0JI:VQGY(&218/&B9(,.)[69 ?!QP'!W2"L_Y6-:'D)
MQ*CJ05W<R*C9G\UJA#OPUO;DAKPI-45A<A,E4D<['#';\Q(K-=@UIMTY[GR@
M_,9 .0YDW+[-(%C#1 _[+X 5(AHZ#']Q &[ '(;4 ([KXCDWBARZ^7+?CYII
MO!NQ3\8?._3M9A'(,6@<"[%C5?3=..\8O<]HK>_?Q"CM#!"D[4B-=I<U+OX:
M=^<KH>V>C[6@M/V89-)"/-RFC64]HJ"@E@1:+7\-Y$ZK5<Q%@4("3=.R$-SF
M[W6=:<$%5<+X(YH Q"JDTO14:Q,%6 K5-F2P@D%J0/LJ%"BFT<0DP%A=4"-[
MT$MKQ'4T@2V:V&0YPL*C#$Q%E"+8_I%S"D]$,ED<1C1( @#F!2ES4W <R$*?
M!@YS L9?2>812";;:)*Y]]Z^PC7W5P7WIARDJ2O!X3;+**!:EA8&N'IK9;(.
MAEZHXG.H(_D(FHE"5#,3BJRSPO"@904+^(:S;E1=REI8#?:U]6]2JPD2CK:1
M%&-2<6N S5]<0HD148&\@U=@8@C-5*G+JN$6)#XQ0=WS$MC%=7@:HH+)')H$
MG"<T"@'9)J0L\6@6;WY@\QS9A6T8N_2O:%';C=U@#?(<6"6N$"5Z38Y@$2+=
M0[<TQ?5I TLFV!!%AFZ2$YFLJV]:<)M?[B.TZ,)\,'F9_.YT)<GF&1]+E]!,
M#)IW8#I_ 7P0A#QTHRP"WTL"UXMIFOI1:*(;ZB:Q Z]\\ A\P#>,#XX;;*U"
MUCS1:+,#]LI:7O@!C6'"%,E8K0P2EX* -;V.I:[PO'GG OO2.$7D]QIC".QZ
M9PT]7/>P;91!K7#?O]6L]8 AXNU3&?/ QC[B; Q\VY@WHGH121G%8*D)N%56
M=F):F3,CA?@"1?N(YE;]SH/GZJ7PC\-C&KF<,S?R@H0#14&2!V$6T-Q/6<(V
MGG^>C%7"C4ZT;M^98K6O(/ Y$W6N=V:C&Y;9X'J3-C#^@=AH)>>QO9)BI347
ME51Z$8C8$]CW>"RJ"F!5'J%CF<0@QUSA DVTS7>0+5!X:*-S\'^3@)ES'?Q>
M"_3 \EI=,ON@YNV+R)XZ;I:DF1>F- JX']( O"P+PC /61SGX<9#_3E*C4W+
MGO8*C.%Q-('0-X\/S(,()@"QVH8/BT>@4Z!?3#S0Q/0&.4URPKX^,7_$^4,,
MT&88FV<Y:[9QRK&AQL(**]A-?17X\V0&MD7@2X6L9<,1;6:@'H^I0M>M5ZV>
M6ON0^,5L]6X84C=F7L33@+EQEF8\] (GIQP@R.-7_+\F-M_W,*+(%>ZJ'40C
M6$6 >+9O';7 [S0Z7)17LK@"(\9+>MF^2Z5:$0'C22%G@%>G(]DH!WJ#5I &
MUH0LVW<*\-6PHN6.W>?Z-N/3O]E\C#=JO_E0I/G[&U5(JU[0L5]J;.@;XC^2
M8PUI',=!$+ , J!NEKH)<U*:!G[DQ3QX#$K+<'<!U44>*^A$8Y7YT:.Q71#M
M)NG/J[0Q%IP7\%V2>**%./]8Z0Y@KG,N]'===XUSAA,WQ[,;E/.0>VJW@G:)
M9;*JY'BQ>H@W^4KLD^#G,#%[>F_=9Q6O:^#A:Z"Y[XME@+/P3-? O>[__\6R
MSPHC% [F98JCD8"<G"ST_GF3Z\ ^3.A1JS;M<0%,0475['4%-X4G$D[SH\,]
M\^VH/6@_B_T34$L#!!0    ( %QW>%0SV.7LI 4  /8A   (    97@S,BYH
M=&WM6FUSVC@0_GXS]Q_VZ+1-9S"QC6TPT,Q0("USN9 !<M/[*%LRUIVQ?+)(
M0G_]K6Q#22]]N>:2DDQ(AI&LU6IW]>SN T,O5LODZ.>? 'HQ([08X5AQE;"C
M%\\LS^SV#LM9M?2+8< )#UF:,PI*=& N29KW0P5S%L:I2,2"L[P4+EY#$:Z6
M+%402D84;EKE/%W :/BV/XUX@N,<SJ83'#)H-RS\,W=V#T2VEGP1*[!\WP4#
M;-.VX8T4A$I.%PP,HS3_L+*_%PBZAERM$_:Z%HE4&1%9\F3=@9=SOF0YG+)+
MF(HE25_6H7A2AYQ)'G6AD,[Y!]8!/U/=6JF8\@O@]'5M/GT[G;&%=J5C.R1P
MFUYH1"9M&8[O6T9@DL@(VXR&D1,X@4EKFXAI!94]BETI@R1\D7:@\*H+& !F
MQ$Q/.F!9#0=/AN^VVS*WVR\KG8%(*/HRNHIYP!4T[=XA6G2#<3=94COJ!?++
M I6BSRC=]1A!HYB\/Y<'H^E\?#P>].?CR2E,CF'P;CPZAM'[T>!\/OY]A(]P
M=32%_NFP6CL>G_9/!^/^R69M'_TZ.Y_.SONG<YA/P&K#>6/6&#1@-AH4?EI-
MU]Q'J_LSZ \G9_/1$'8<V$=+-Y'T34^C9OYN!+/^]$W_=#0S)N]/1G] ?S#7
M*[9I_KAL^G.5*QZM[R0LM:-Q"J%(4Q8J+E*XY"H&%3/HI^F*)#!EF9 *1'1S
M]8=Q&@J)(D6]/] ;7SQKV[;9'8AE1M)U,;.ZKP!U'PNYQ%.-7]$*61R2H5&"
M DNI;A1#%K)EP.2F*32MNFX"^$YRT%V#?C1OQL*5Y$J;0%(*HZLP)BDV"3QV
MR?-<NX+_6I*B:1 SR="'70-+SS;VU8&1,-9^:I%52IG,,?AXI(@B;((RWZQ5
MCM41K%)?2QVRE<Q7!/N>$CM9JGMJJULD:>$ H2+30=J5KF0T_"KM,R(#DK+<
MF%PE; TZWKBBX5??A$7%I-BLQ0.6%P(QS^&O5%QBC!:L<_=(523 )AZR),DS
M$N+EO:Z9M6*>$4HW<]U,/U@!=<QFY'F.&3G4\XEG64[+91Z-7+=I.[@M(7G^
MNC:<G1V?\%S-M>[:_]+8$2]4Q1KJYO,N[.94PB)<#A'&L@//S.*U=17@(R_I
M*7FTPU)P3C>F5<KM5L,J WFHZ%=DK;:VZD(C)R3)QA@ELBY<)PNWS>H#Z]4W
MF$-62GS&G)L*4.V:NNO8NJW!<T1S56RB59*L\6Z66:+S>YOSDOV]XI)I7E9D
MXZRJ65;S@&"!D6"Y!_35-I,^5HAM=:C2R?*;3E?7C5U,5RY=#QI.Y2>@P$<:
MH/N27BW3;?HMUV:.%SJ.14G8# EMAQ$)3=LEK:?TNI/TLA]@>O$4^^Z2%#F#
M+5\1KOL;+]OD)O<(EYA\F62Y3K.Z7B9) K@-52,AP(4,\PY7]*Z(IR0-]7-4
M2'FA6O=CE%HE998*;/+%F9]VT,:^9M]]<KLR4>Z$V WQRCKE)_OR_3<BD>+8
M3L&J[H'._H<JQI@;!&TO<HEG.Q;S?)]B);.]IMOR31K>2;T*A$269V"12DB6
MH\AF=&>ES,%2YC[_=T58<DH3]L7\OR?,;+X(^DIBWN2<:S?:-SFGR]W#\>Q:
MR;G-G195OH)8()02RRUZP,ZN(!<)I_L0F,/\$-X0+/WZFX5XE5#<]@2 VP.@
MO/0M!C *>PJ KU_^#S%K$",50=&"3PQBSB+D\<CI%;]@,"D_E#_AM)P\'F[T
MX D7[#'+\B+3;S9#9GO4=EH.]3W']IQVR[0IM1S/>C0LR[0?,<ORVX^K>-WF
M3A\4RYHI=L%2Z#=@R+!**)Z*)PS<'@,/AFA]T_W_$,O.),LY9:FJ5TSK>/N]
M3L6T4(=D)%]))@M"-F.A9(K(]1."R\GW4#!8$KG@Z;9R6?;WL8#-J'>H?Q)1
M#*I?>_P#4$L#!!0    ( %QW>%3,5,\ZL"4   O>   /    97AH:6)I=#$P
M,3 N:'1M[5WI<]O(E?^^5?L_]"J5C5@%R=0MV1Y7R;(RH]1$=DE*9O.Q"33(
MCD& @T,R\]?O._H"",KR6)1E2TF5AR*!/E^_X_>.?CVII]F;__XO(5Y/E$SH
M$WRN=9VI-Z]?\'_-E_^SL2%^U;'**Y6(NG@IKDJ95\=Q+:Y4/,F+K!AK5?'#
M]+]W1=Q,55Z+N%2RAI>:2N=C<?KNY^.+5&?PN1(?+M[#1R4.-[?@_\/@[9-B
M-B_U>%*+K:.C/;$AMH?;V^)M6<BDU,E8B8T-'O@+,_+7HR*9B]$XAI&4/ZW]
M*:7_K8FJGF?JI[6TR.N-5$YU-G\I_G*EIZH2Y^I&7!13F?\E$O1-)"I5ZO25
MH*<K_1_U4AS-ZE>B5I_J#9GI<?Y29"J%;ZB;E^)/0_K?JS4>3**O[7K!1]LW
MS%5M3!3.YJ78VMD\Z#9)$X4V7F._K1'?F+=&19:TAK6U/<,W3C]-]$C#(@TW
MMX:O7^ #;UZ/RMMZ7K,C?-$_VL6Y]H[_#R^H&?D[%:OI2)5B>R>"S1T>+AM/
M_QR^CTD>YTD)C_]M4_Q2I"F\\XW'<S04?Y<Z%Y=UJ53]C0?S2S%5923._P4M
M#@\.'N'^]YW(8 I?M@)K;R[42WM$PV9I+#I/@%>^%,/9I]9:[6UN[=)(_O=/
M6_O#5U__;]\(OG8G7S=OCH'5)\3NZT)<JFL%TB%6XG@,A(9?OW[1O+%=/[Z-
MO@=N)DOQ]]*=\Y??>)(MFMK9GZUJWA<J5:7"G=:5F,I$X?;7$]5' F(T%S)/
MQ$C5-TKE8EXT]'>O(A&)LSPNREE1DNZP#FU:[6#MI)C.9#Y?&XB$?CPOKEF4
M;!V2*-FCQ\6:ZWEML,G$#XV*HDS@T7HB:QJH'UX,S69S >PQ+<JIN-'UA)Z0
MLUFF8SD"/:54OS>ZI,<K4:0PR[C612YVAT?'^#<^?I;7JLQE)BY@"?)&@2H#
MRP(_;AT=[D="5D+B65%)1(^G1985-Z@9Q1.9CV']S0KZ@<E2B0DL\VANEV!6
M%K,"%+&');-[;?2-G<OKFI8V5EE6S60,*_'3VG"-_I[))+%_WXL>=Z.3>@)#
M&P[_?!>E3L29K*J?UMY=?OCKK[JJKW"D:T(G/ZW]9WLHCT9)LAOO#;=W]Y*#
MH_UALJ<.DZV#_='1P<[AVANOS09Z+4RW?!/^C=\D=G9F?'Q@X0#50'>9'6-=
MS%Z)CL;8;NES7&$JR['.-_"/E7*%K<UPM]W87M3)9Z<NF[KHG_J73O:A6. [
ME:F:SF\FFTJ)]7<#Y"&7S:@RW&%K/1D0IRO5+",*%Z"R._[B.0 .^>6=E@Z^
M*'L(#+Y&$GW(<_SM-V -5_PXGXL"5K,4DA>]*&$7S&=B]G&15V#1-C4T+^$H
M )?6P*5'8)W&$\N\6\(*OS"R)H+&XJQ!;F37&O>O:&J8TU37DOJQXF!K:S-4
MN<19C>(Q;4H:8 -+4E9U420\, ET4<&Z<1O51&:9^+V!I4SG)"T$K&TYU?@[
MT @*E7I-%#F*JO2EZ6%=#VBXIY]4W-3Z6HDQ_%.%4Q!Y 6=*131P(- <]J*>
MB_6C(<K1.<DS#6(MU3 XH3X!OR/!#@M9Q'%3LIA?M],.!#*N+"Z964,WA@%^
M@SU#$_@?$+ C;:9IGJ795")155SJ$<ARC;L%B^66<ET-UK4>X!3-'.U\4JDS
MDI8P.,6M ?F!.9SI&CO+$XU-K%<#.V7XI\0I[P13+L$.U=>XLE4#=,"+](J.
M*_2XL*R5FDE426"=RF)J5P!H\QI>P[=%AI2%.YN+G>$]V@]B$1"P5H%1K&E*
M 3?!%8%IP"1I:CS[#7A*S*#%(ME<>Y;T=Y'TVVD<'ZAD>^< )/WVZ&CK2!UL
MQ\/=H]VCX=9(/65)O_V4)/TQT2@PY!Q>:LEW8'5Z.E6)AK,/?-F?P8X6$"&[
M H&3(&/GIZIG@?_E E\-C-Q;NV1^C N,#!GD!G'B-;3AQ*PIT4RJ%J4[2]FI
M B8-\K7J-%+91M8ERJ84)@$[5MM%=[)I$^V^C:WUR<#V< 6;6S7E'(R_<9-1
MDR!^J-%0=*%TH2]Q%*RV6&,7WZ#?ZQ+,Z0IEYPB1<U55N"B:)&K$FL--T61H
M3\.S#+&3NH P.[#9-2N40,+IF2:MP>F<=B"DB_1-:'UG84YV^L'4GB7(G23(
MSB@]DH=Q>I3LQ[L'.[$\W-[?W=W9.Y+[^X>CP]%3EB [3U""M*T^U)U)MS:(
ME-'9 M&QO3X:_#AB8C4RX96X=UV;FGH)1A$,/X8^9F5QK1.5&'4[LB BF"MV
M#YU!0/(%S0%$#^<H]I'= H</K1\Y+1HT?V9R3GRMS8UQU\&NVS"&3\>$)?L6
M35+XG!<Y&XP:9$""D&P)'Q#/5'EES,IF]&]HE]'YKP M#;2*/Z\-'HC]$Q-%
MOOI!CM5;D$8?C^$?Q^;C3,D2+:)ZXM@6, '#QLT7\&M=3/D[SQWZ6W<MS^";
M#00(/F[(%!8(6$YV T96B[^\GI2P ;#A";QA/K@61H0V;QB&1<Z=GN&^%+NS
M3_QK2^K8]=FF]]H"1XQD_'%< @$E&PO.Z-8*_F#"=&\WW3\8'6V#*(UWM].=
MPSC>/]S>VAK"%_L[\DF;8[M/7IABY[<)TO@'$J0/9F\AN$H04JF >55*3)NJ
M1KM#$2[&L)UDM]FL=%C>B)&_.%8S9C7&LQ5:08G*-! =Q12%/]H%[R!JE?Z$
M -Z^!?#::)>#Z?Y2B24VG7,$I@MOH%--E2"LW:SL=$' U[!&\-.RX;+%UD(*
MDX(D<PVM7!<?&:"T#1H\LD)A*]8/S&30#E0D:&#=0I@9'\7EKR:@/\"O#-^A
M5 Z',$5@SZX^.Q<KYX4=J1SLV$#7P+Y8WV!=!;2%*6FAS8P0<]S<F2X=6LL#
MP $3@EB4G=%\0_U+&<R:A@CS"RQ\HR*1\F6UK<!TGLAK7!K8A)G4B0#!G&F%
M!G=-^ $V39U69)63KH3*GF<HP$^>;> [B>U$#>7N_FA/)6#Z)L/AT>%.FH[V
M1ON[*<KN)RVV]YZ@V#8HJO.8+0-0[0/#9^ST_B/2UK:V'G%$VE=,['X;:]YX
ML7X&,C*G3R>A??TAP^!.%^-FU8QW36F5D_I&9?#6^M;V0$SAF8D5XR1.?F],
M[!Q*JA.*! +AY8GV!-XHBRR"4Z,)+VXYI_.B9&C8A2I%U!!(Q%A5%8JRHOW&
MC0;IJ-!WG<.16]2%)#(4/>/)Z3Q\&7Z^TW*@C@":4A,O-E\#8U6@019Y4QFY
M;, /$LXS>!O%ZL.%"W[OTG6TLS]*]K8/4AD?[([4_M'.[I[<.=@YVANE>VF\
M^Y2EZ_ZS=-U^T#B$?DG>%O?/TGP5TGS[69K?19J'"'@HM!]'@'IKO[:&AP]$
M/>MR\$P]=Z&>LUS\K')5RJQ'X;LJ#'924^3VHL_'X!,4N#92'#-O59]V-+KU
M]7A>]X=<.^BJB5K82&7 $=L]@G=Q7)0)(44N1L A*?$$M+C,0"$)HWW.2;40
M6Q$1?(+ EX53"+G#9_8/H&E$C]JP'4;Q>T?4=9&!.BA]O($05S;^L<B?^!D=
M/9_1NW'XF8K9'7HZG67%7*F>LWI>U$CL52US5II<#+$#_7JH6Z>1=3 @*$S8
MJ,.:/<V&H'/4@88UA>FX(2HS1%2%$)8%4B<0V$0>L2F' #,>VJ[/&,XBL(K<
M'$<ZO :J[<6_NX[DK^$I%!S%L<F,]@<QP<+!TC! Q)VK @:;Z"HN%387&<3<
M0;'K'G0-_.D#9%)VJA8*UY_$^KXQHD,7P&WSCAP@7-6H=5*S.A$&ZT[8"):U
MU45;C.G6!85YFQ'YN9NAX12+'&U^0O@C%S.NT=VNJMI2XE][@M5F&)F<A $B
M3$:XX&)MD7K6*)P-.X7F@7GII)&9N)D42&X+^^2VA\70,G*TP6_D@?"HMQRL
M;P_6WV)X0C<-RB]"0"M..K;=%494*.@ Y$4D5(8T!WW=E!J#W:.0#CNI6#[L
MONK$3?00*AYL_H*F*3/N"L]B"9*M"KU6@7!S\7#ZU@"_;JQA*+!YV7$7>[<,
M>$_=5'9YG)\-YP];;D;IL@)&>%R!#26$SRSPIN60R7, Q3T&4#QP9-,==1=Q
MG_XWZM4W_%A4#N.TA>.FQ@6>*9L'>7ON9-L#/2^:2,S8#UL5Q"MCY/,&Y$34
M3[EO45" . #.3?Y2ZQKM!A*/J"D3(F673:6IX3&2F/K?9-Z 6BNVN-[!YH.J
ML$^\T<]I\(?#E2%R5Q?'YY?')U?BZO3DE_/WO[[_^>ST4IR=G[R_^/#^XOCJ
M]-U37MY[5OW?SG_<$@LOJA?BLJ:0D>--\4[]'7TT>?%X*BM\HSU_!WSZ,>_Z
M5TQM:_O%]N$+KH[S\#O\/<>#DX1^X/H(#Z40,BM8J"UDC(C[^0]SE6^[A7<M
MGO3]$/]SH\]9 8_;J/T.]KV'"V$,BBI7QV\O3_]Y"FK\R:DX_OGB]/3OI^=7
MMS'([W,1_]U4M4[G'3UN^W!SJ7?CZVTC+O6P6"IJH8 3@IBTR83089R4 TJW
M#NN)D5H4F9SZ@E!8#"KJU)VR9W1!O$1=Z!2Q="[.D7!^7@)O5-3OT5!<%@W\
M'I33BP15M',%[<PD'.R_-HB6U[MJE;N"YT"_S^0-HA=!8K =TE12_<QP0 ?B
M5PG+#/_F*A*_R0P?2('/1!@Z1NX!&(48[N\>;=L5L*E<IIJ60R$KT51!*8[
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
M]E[:J'W@049J/[U^,2J2.7V8U-,,/OP_4$L#!!0    ( %QW>%3,[_U6@@P
M +M'   /    97AH:6)I=#$P,3$N:'1M[5S_4]NX$O_]S;S_08_.NVMG$HB=
MA"1 F4E#VN.F!QV2=_=^E>UUHL.V/+9,FOOK;U>R$SMQ*+2%TA[I%!Q9EE:K
MW<]^DSF9JS X_?>_&#N9 _?T%5XKH0(X/3DPO_/&_S2;[+UP(4K!8TH>L6G"
MHW3H*C8%=Q[)0,X$I*:S_IQ)-PLA4LQ-@"M\*$M%-&/CLW?#*U\$>)VR#U>7
M> FLOV_AOU;IZ9&,EXF8S16S!H,N:S*[9=OL32*YEPAO!JS9-(0?Y)2?.-);
M,F?F(B7)Z[T7OO[LL50M WB]Y\M(-7T>BF!YQ'Z>BA!2=@$+=B5#'OW<8+JE
MP5)(A'_,=.]4_ 5';!"K8Z;@HVKR0,RB(Q: CRUZFB/VHJ4_QWN&&$_<%/S"
MRV+N\M-Z3<<,EP_-.="7(V:U]WLTRR=H-"1N4VC9JX<7^8B.##RDB8T_SH4C
MD(>M?<LZ<9*"N(.G1NC]:$,I5)!\'G&[=WHW>9/QZ/+BC U_&U^<X?\IFUZR
MR?CW\=7P8C1FPW=7XS$U[R*]CLR]4USR[1WNSH\_LU0)?YG+J8@\Y,\1:Q_&
MNS8PY,E,1$U'*B7#RLH_FW%[I].Y2-D$7!EY;(B:[VGM5Q+;;@#!P@4VG"4
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
MO,IN?O*? @!4^!\ #P   &9O<FTQ,&LR,#(Q+FAT;>R]>7/;R)DX_/]6[7?
M*LFN747)!&_:,ZZ29=G1QK:TDB:SV;?>2C6 !HD8!!@ E,1\^M]S=#<:/"3*
M%B52XB0U(Y(XNI]^[O.783&*G9M1G.1O;[PLCG[=&Q;%^.V;-]?7UP?XS4&:
M#=XTZO7FFRC)"Y'X<D]='T?)]ULNQY\]D9O+;^:NOV[2U6Z_WW]#OYI+\VC1
MA?!8]\W_?OURX0_E2.S/K@=?'Y0WVJOIO.$?]:51GK8:;O>VS?(5YH:;9=>Z
M"!A8O/S?#^=?RLN+Q=>7E[XI,I'D89J-1!&E"3ZIO5]O[#<ZUD/V<^E7'@2?
M#P;IU9W/Z>TW7?V<2;X_$&)LGA.*W*/%J!_@EH:[7W>M6P(Y T?]7OB!+O]G
MRSR]R):"L?\&?M47^NDD*;+IXN>J'^G9YH9)ELG$7W:'^K5R2R(B/U]\/?U4
MN3B/_,67P@_5"XMQMN1*^*5RJ;SQAXLOQ5^J3\V*^2.!+Q<=1Y'M%].QS!=#
M&GY^@S_CG76\LWQ)(?SR+80I\,5^(?WA@9^.Z%5NP[QH.74BF]A[_^__YCB_
M#*4(Z"_XNXB*6+[_Y0W_5WWY'_O[SI?(ETDN Z=(WSJ7^-Y#OW NX;U)&J>#
M2.9\,?WS,?4G(YD4CI])4<!-DSQ*!L[QQ\^'YV$$B#[(G;/S4_A3.KT#%_Y7
MM^X^2L?3+!H,"P>6VG;V'=A4P_F0I2+(HF @G?U]O;*1+(2#6]R7_YQ$5[_N
M':5) 2_>OP3H[3D^?_IUKY WQ1O:LO,&[OWEC=HS_.FEP=3)BVDL?]T+X?K]
M4(RB>/K6^:_+:"1SYYN\=L[3D4C^J^;0-S4GEUD4OG/HZCSZEWSK],?%.P=?
MLB_B:)"\=6(9PC<^@"9[Z_RA3O^\<Q#@OP31E1,%O^Y]O#C[%"'!_SD* IGL
MZ44$43Z.!2P@21/Y;N_]+]'-6URNS/A/NIK^A N^ 9RSR'<2,<);9?3V$  ?
M(/ _Q6*P1V_Z!"CR]S 47=&2]9;P9:OE>WT9>IUF2[A^O]MN>IZ"UDUQ+L-?
M]WQ$I#K\KTA+E&*>].L>\+&W7IK&4B2AB$$@O*?__/*FLJ;E2SPB2B\^1;DO
MXK])D1TGP4? $VNU?MWUFOUVIQF(9JM;[_6Z'3?PN@TWJ+O2ZW;ON=H GCZ"
M&X:!F.Z]=QM BBNO5B-SN=Q/\$UN+=;S>YV&#V35:;1;?KONM=MNWVLT.T+T
M ]\/[U[L>_SK!U=T!K^FP>R:.K+5Z[A2ALU>O]5RW5ZKT^MT@C!T6X'?#YHK
MK.G3WU9>T7$"#&-Z!&O*1'R2!/+F+W)JK:8?=AK=1MAHN)YH^;[KM5IUM].J
M2[]9#SNN6&$U0$#P3;=9;ZZT*B4*WWZ1>2[EZ5AF($V3P1<)"LRY3.2UB"]E
M-K+66!?MI@P0WWS1ZKE"=/O-EA0MX74#M]=9M$9<V=_/LA2>7DS/8I$4ATEP
M#)QHC,?S88I<Z/ FRO_^81*!LI(,OLJ1)[.]]V>MU6"K=W$NKV0R@86/1)3
M<^#,";U!63KU@..0IG!\,Y8^<%O@4G#):7@!W^8A; U^8R1Q[>V&7K?3#0//
M<_NM3CWHA:[G]F2KT??[H2<7\0/:[D\OY:(068'D3I"!YS;Q8 UDW,;7E='N
M<!)$19I]BK+126#MK2W=1@,VU>UW_%:OW_:">KT'!.H%/:_7[K160+=.KS>W
MC#=5]IO)4*+&(O/WOZ"R^S8G-1:>Z9#R^W:8X>-18N_K!Q_<Y+!0_ADE_*][
M>30:Q\!"?WE3?0:_SGX'?<S324:?2+E_J_9!6U^X#W6=) +5GZ( /X>1S!QZ
MGURHDAZ=_*5*=K,WO]=?59\^)ES3GW)]W.^U&E1W]7WE;V:907FI8M/57_1G
M_9(W%3@L!TNG6=\ 8+"%4RA0=/:;=?,@]<N/[0__W]NL_37(]ND]S/XV!9DK
MYU?!SY_;7WWS]E=_\/W]'3@_J&'P_J-8Y#E(A2+UOY,4N("GR?SPC-A=)@/Z
M18N$]4)%<2(YP(7QQP!>=C..(S\J> U. (I_DH/P*D7RTLWLO3>7+-_5+V\6
MOLC TZSG"0_-W1W:HQS:PW(2HP!L"D^I* #UU16 ^@,J &Z_BLNHHX.]DH[&
M8&,G14[X?"X+4&EE<"PR5&SS+4'E17LIT7GQIM:#R6[_ 3%YI2.#CR.T*+:'
M\=Q^6G/[>2X'=>C[D]$D1F?@:3&4&?Z<R2&"Z4J>)'XZDL_B %?>Y]8<[ 9(
MD*=$W,M,BGR239\/CUFPHZU!QKNX3!!$Z&(2\9F(@I/D2(RC0L3/XMANW=L6
M'."L9KI3QM:AC&V"LCWKA-R=]-I/^NG\JO<YZ9T2N$8E< OQ86>];=OYWD^&
M[^C]L>A].R3]SI9Z_C2_.^-MI./[G?%.;F_;^=Y33]^Y45XD[]Z=^[.A]]UI
M/[:S]&'#^#O'V2/$JQ__R'::TP8<U$[%W<X$M)V]N>U4M7,(/DH6R%IS=W>J
MR/,XLIWZO^4'N)-\&W)8N]#WYDB^!U9IZFY'><_@KPW(A)QQ+KGP_\Z*SB7[
MTI]U)O<46.BO30.+B\TR5@/+S*4_ZVMMU]V_?Y1><0)8EU&%-M'^F9@" /SO
M9UE:2*[&S=)!)D9?4I%L-M7/[V;O/=:SOEUA3VMCW?6VY5+]V9S$IMM<=&;G
M\BJ-KT#K.\HDZ!*?A!_%L+J+2";B"^ )_/(Y2R?C+[&_I2=X[QVN[SR;^V[S
M8<YS-LZU2FT^BJA)(;.+-"RN12;MRWB+?S\7R8 O_BINHM%DM)EGGF=PK'JI
M>^_Q8V6]2T]P96Q: 9X*O>Z&ZK,+MOT(\GV:@&U93 @^IV$8^7)+<>_^&'+G
MUG\<77^8$':HMP3UHF1S46_1:=OK?4RV]^-(_9)0[ZOPAU$BL^F\5-@TY+H7
M"NB+;]G?[OSOK7+M>,].Y7I Y+M,TSC_B#T>DN!K&@<;'JRX%^-9LK=G=^YU
M['?$GCG\ZX=ZL#V#XZYN:6VG7*^V<KK=T5BY]&>IN]6H*T<C_+6:5JO\&"?)
MG\4(SN,H31)T4/F3YZ!@L(YYUQ;72>ZM_49]-7*O7/H0Z8S/7278H,C'', W
MV?7PF-;^>@&^$V-;<ERS>?6PW6#B%Z?9A<RNP.AG*T?D49+"YC^+D=E=&2?^
M+#%@,AY&OHCI^A-X1Y8(3ES8S.-%VEJT5VV!+-KQS[GQEH)+O7(!T-:I!VU$
M]<Y";#O+HJ3(Y,T+0+/J5I\/?FU*E="#<+/?+C81JVXY;C6QXNUO%S^'40_&
M'[>57:V$3I=J=(7Z+J=8\W/A70_)5'X6YVX!],O$O(5$N(E8M&,DJQSGE[0
M8IINY3%6UOXRC^\6]K1EA_F2&.U*%LFG- W49S,G:COI]):=/#MC8*6C_3'M
M;6<2; ;7V&@[LR(3MPZ9?EK8/P+*/FNAL[(;;#/QYVF9T8J.M6WE/TN[(+T(
MY'@NI[:8[-/\<%*D/#(7[.(/(OG^,F(NM^Y\YQO?:.Q[CFSF:?#Y6:/7+>;G
M#KEVAOS/6%M5C6\3$>;IU=4MLG=V![AU%+CSDCX'VMQZ"V.GZZ_(<)]I5M\F
MI2P\;G1[HZ7#JM[P'9;M@N\_H/T_;Z_9)F';T[@U-AK[GE,0^8$CO#^+WB\]
M"KC+\=L6+6B-Z29;(J4VC'7LK+WG5_6P,25;SSA,_?,*]Y9ASDZCW07JGE6@
M;J,UVEV>_/,5"L^L<G>CW"[/.T2\5B_?9LJEC4N%>\:^EC4J/3M>MM.)?F1P
MZ99PJ1V_V%5H[/29]9A".X'SC 7.1GN#=^Z[;3W>U?6)%\@GME9:<)=*>263
MB3R7(Q'AG,8SF85I-A*)+T^].!H0#(YOQM(O9' 9893C-+R ;_-0T.2B"[U>
M.G]X;A,/ZRF/OIB.93!_[N5@RH?<,6QQ/0\^"%)\CG,SBI/\K7J' 50H<N\@
MS09OU ]O-'=HNGN(*4V-5&M=W'M#%!;,?X@BUMR*]<&1O+%#\J='\L8.R1=J
M7T<I;!@,'=KN>91__S#](!-_.!+9=T+@0Y^,K?Q<^C*Z$EZLQDHNNK,<.S')
M0>'!H90SUZA[OXI_I)F^*)_7!CZ+D:4(GVWJZ#=N@#R[E45ZP9(-_;A!48Z;
MO_W\*@-#%Q[D6M8PWWKX#I1X=GKPQA+:A1\QQON(E!L^D^/9H_?/\9B%9_GL
M2&G6I+R3E"Y$+',EX+_)8B>PM@BE-TUL+L2E9V?@WYO$=FKA9@NOS:2QS5$+
M=X3VS-3"39%?]U/)-H&7;"LIW=O"VJF%6R4L'D0AVPR6\F(LK\>25M]\N#H;
MIWSM9E+5)JB!6R P%QWE3E;M"&E'2)M,2)OB5M]-SMS0<Z+3^2!B#*A>#*4L
MOJ0^9T#A89T60YE]B82'\W6C33<WEVVCI/C%^WG(4UW;@,W=0:WMH.H/?U K
M3>:>9$E43#()OY^&8>1+<]5F']\])G/?M<5M.-'51Q&#(I$7V83R3DX2N&.0
MR7S#:?%>@XEOV^ V<-'5C_*K\(=1(K.I_?LS.LE;]K<-![DZESU*1^-)(;.+
M-"RN!7&BYW2>W+/DSCT^+SZ[DYS;0:6KG^@7*7(Y3./@9#3.TBM*Y'].@O.6
M_3VO@]RQVVTYT]5%Z(XX-UINKGZ0.Z7VF1SDSM#<\*.\ARX;W<C@,,]ED1_?
M^/$DB)+!W.[]YW&ZK-G>;\//2Y3N3OM)3GL-;/I3!/:9_!)=R> D@:<-(B^6
MO-$/4P[^Q2+GZ&V9BO,!-(VYZS?[K.^QT9)_K[3C;3AL]]Z'3:&+%W#$M^QS
M>WCV[F WX6"?F#WK+(US&5,H,A]&X^=XL+?L<QL.]OZL^%N:^.EH+ MY"/;#
M-O@M?NA<EV]S&QCQ_8]UITZ](*E[)HIG2K:5G6T# [[_X>T8\!8<Z_T9\$YA
M>J;,]C(3@<0\[>=XFK.;>YZTN9.7&T-_/Z#9[NAOPXYPIH[AH_2*$_)>X]+H
MS,[E51I?H5L[DT%4?!(^YBQ/+R*9B"\R08<W3?3XLJEEI?I\YO>F?/CWWN%#
MGNQFE$G<C09G8@JGYG\_R])"4FB#HI9B]"45&UZPM?3@5]C32SSJ>]/#W_\J
ML@C+V\YUO\FS#(X!/VTV9LRNVQ+&U0TL18,=]]D6E/PD YF)^-,D"?+C,$1Z
MOY(7UV*\S6BZPJ9VJ+M.U-V)R[6)R_6:+3M-][$)=GTV3+?Q0$+#*N,&"W"K
MRKCM]3Y7EE_!H'IWO_%P&*05$/QKQ\\?Q?SIKBRP*Y<^K*YY>"VRP*0O'H_&
M<3J5\J)(_>^GX\WO15)9?JD6+MW'\U/ ?NP\GWW#CAT&/2(&;;*N\.#GO#[M
M9&LQB-/C8Y%\$R.%-O^<P)I/J.\26.3X6Z/NMC8;1>P=*!7AUGULA7%P+YK>
MG>%V"9#'Q)IS"2ITA&-X:$N_)5&1GU_\ML.<A\:<6P&]#=A3?V$\Y_%4BPV3
M5&O(/GQ9/.=!.<#+QI[92=Q;CQM/>4H;V:QW=Z3;;RG^H*]A=_3;99=L)+*=
M8!*_-'.D*_U5/\L$\P@.D^ P&$5)E%.WZ"MY?#,&N&YX>L0M&RO/?:4=/CL<
MF%4+=CCP=#CP9+.>'EC4U-NJ(\;6":'--53OANDV&"'K4V]V.+?M.+>1XG"'
MH#L$W2A9O>.;.[3<WA#7]F+;(YS]SV+^LPR+[3!NAW%/98_L<&^'>YMAE[A=
MC:AN%Q%UW7AS3["XW97! I<^N#;,KKU+<7,X*89I!DLFFB1?'^ GNOKB_YYD
M41Y$_N9G;"_>C357^/9M;8.@O_78/L*7>1'Y1S@9,YMN]V$MW,SV'!%LC,MX
MCD263<,T0UZL9:,4F3_<[.-9NOZ*'+$VL@5'X_;I:/XJX@E',.(XO<9I@CDP
M!=Q-=B5SH\/,7W8*;X-ODL&7-,]MN&QXRY75-EP>[/UWOI[#=_L/;R/M#G]+
M#G^]YLH.#38:#3;!<IB+:.QP9GMPYFF###M,V6A,>:R.;X>PAB"*)]0X1OI@
M<.(\:IYE(H-/63KB<7 $B=/P6&0) " _D]G%4&3RPW3Q Y2)GOK?\78X"KH?
MG4>;C21K!(=MXR^%R[,74#M\>QGX]D3"K=ZN\K<-<Z76VQN2#(PSJM(X"@@=
M3@HYRI7?9YQF!?8:^RRQ%<AX&/DB1M1)$VF:T_[=Y%G:5]$#?KO8-$K#^O/%
MN^7:]-6V_..!#GS'4GCMO??9=?CVMXMGQ_H?"^=.X+590D\5\6:R^PU'0@H!
M+@#CLT/)66WD9;'!GV-#3XWD6ZJ1/!K.[=C@UK'!I_4 O2SFM\%XMQX=<+VQ
MXQ?.Q1Z2BSPU^FX0;NTDY ZWUMM@92?T7HK06VML'@"+";$9 ?8\RK]_F'Z0
MB3_$^3_LBQ:QS,_EE4PF\IM46UITFXFTE2":N^I.[#LZW#3L,S/FEN_8+LR^
M8^MKQ\*CPQ]_Q2U;K>"$Y9!?A!POP=FRHYD=S6P%S6R0LVB3:.9XDJ7C#6\%
MLBZ4^EFRP9]M^*V%>!Z23VPK#6VXKK8%5NBFD]+#F\%;0E(;%,K=))(Z$SY@
MNG\>;7@3_J=6[+:"KF</<T=,.QUO6Q#XQ>EX.]_",]3Q=C+I)28%;#A)[72\
M9T1/CZ;C/5W3U;I-3!N6AHY[K3\-CVEIL-0[S?KF@:7>6ADL]<Y^L_Y0^5CU
M#2Y:0,UM56QY8"6O:["EOY'8LNH,4[BT_W#88HVKW4"PW&^TZT."I67 LH&\
MQ5V=M[@/REM*;T.]N8F\Y1X&9+VY#FUW$\%R+[WE)\ R22*&R6^P? .$D13Y
M))/OHSQM-=SNV]\N/NK[]4_Z,SY@T<,:<P]3.\&RQ?R^3VN:IP71%<#5ON;;
M9(1EV6GV@ZN?NQ^__"B3=!0EBQZ[ZCXJCWA37?T=VVW- 8^TY@O6@N\+O/:2
MIZ58-9HF]WU<9_'COHID$L(?\$5VWT=VER#+&/Z\[[-ZBY>'):^W/RJZ>9O)
MF,RE?!B-G30+9/;KGGM0WW-$YF=I7*5^O/<@S09OD(.\45>\01#LAVE:)&DA
M]YPP2T?G,LQ_W?L$/_R] =<&GM?N-42SY3;;HMF$_\MNO^^*9C_T]YPB59?#
M(_X>]-OMH!<&[6Z_T_(:ON?UN[U6UVWV>IU^7?;WG#A*OI_?OC):%EX'@'DS
ML\G'V77=#66K$;:#3MAL]7M]T>MT0B]HM^M]T7>E>)Z[;M4#M]WI!D&SY;=Z
MHN<U@L#O][UFIQ>$7=E]IKL.FFZOX?:\EM]KN?U M+N-OI#MH"E:K: >S.RZ
MWO !(9I!%S;?ZLAZWV_XO7K'"^K=9C]P6UNRZVXH^F$8-L*>VVXU>]U>6W;;
MKNAVZWW9]7K-Y[EK8&$B;/J^'W;@N/MUKQ,(/X0==?R&Z#9FZ?J9[-IUPZ[?
M[;?JOM=J=<.6)UM>K^^ZKG [KNRXSW/7O8[?[?3JH03IU>KT@24U6D%? E.#
MW;<ZC>>YZU;?DSW0QSS1Z;3\N@1T;_2$WPI\D-JMUJR\?BZ[[K1:[6;7;;>;
MG98;R'Z]W^S(5COT^PW9>:Z[EH&H-_HMX4JW!]OOBY9LMV7=]SLMT6S(UO/<
M=;OG=X"%UX%OBU80-OO-4/I-K]5QPW:WY\YJ*<]DUV&KX8-&T@3I!<<<^L(#
M_1NX6+/?=;V65Y_9=:OAM=N]=C/T6F[+]P-/](17]QKU?K?N"U'?DET#5C>"
M+C#PH"U;?='N>WZCT?5 0VGU9=.?U5*>R:[!TFBT^J!=-SW1ZH'!U>U+"?J*
MWVT&[KQ&^DQVW?1=#^@X[+8%V%Z]>M_KUT%;"[V&!$*=TTB?R:Y%WX<3=CL>
MJ"JM+JCCG7[7:X2M9K_5"T&4/<]=-\-.LRWJH*P$+5!+.XCLK2YH+>U^QZ^'
MLY+K$7;-W^3I)/-ESA^'4@3D"0VBJ_?__F___F^.\PO\Z>3%%%^$3LE]$4>#
MY*V#<6N9O<-ER/VAC ;#XJWCM@_Z[7'QS@G3!& A1E$\?>O\UV4TDKGS35X[
MY^E()/]5<^B;FI/++ K5U7GT+PE/:)G;K]5#O30.WNV]_^W;R>7Q1^?B\O#R
M^&(C5WAQ?/3;^<GER?&%<_CMHW/\OT=_/OSV^=@Y.OWZ]>3BXN3TVX\ONWG0
M_;E5-Y:M^G<!Z) ,BC2I.1\/C@Z<1KW=ZJ^RTG],\B(*IS-+[1ST$," <E[F
MO'E/#]C ;?^2CT6B%V+?T;OW"_?>?SH]_^H@&TG2A%S5D>\D B,1@8S>?DS]
M"?J$,<5DCUR@;*VYS7Z_6>]VF_6@)46S%_1#T-GZ==%N@JK7VW-4' #8PL*D
MU+WW;GW_+T2XY7N!>'%G2VGX(<XJEB' B+Z)$@R@O'7V&6XCD0VB9!\OT*"L
M'FB=W_@3)UJG!;_Z*K+OSFDB7U<63*72@$MQ#$#P :U_W0-6B9_'(@C,YUCD
MP&@_7IQ]^A+EQ27>M%?!A1]961_W=1T%Q1!76?^3@E %9GX:I]E;YP]U^@?V
M@:MV'/XW__>7(GNO/^M??BD"O3S] H+ME<P*S-K1+RG2\3M'_9TAQ&<!?2$'
MJ71^.W$NIB,@A/]:!-H[\?@P228BYM)T"Y_KH*4W>[UZ-PQDJQ>(7L?W>CT/
MQ%>CVP!KY&Y\AL5D(U'\NA<!W'+IO_72-/9$'*>%E][LO?_//]PT.F[CW3S*
M%\$*,!.3(ET"L[F3VK.>5R6$G\/<A;SH\-NWWPZ_..?'9Z?GE\[9;^<7OQU^
MNW0N3QT0*9<@-X 1.J?G(+Q>!:^=TT_.Y9^/'4O:&$ES>'2)/[O]9DN3A=F"
M#2,F=(-H^.]__S?X @GA_3HXQF+N7C]H/  S6 C23VGF%$/IA%$.9^U,I<@<
M";PJN)M-GU$P]IA#M#:_;KF@K_9[8(YT6K+;]?I@E?<]5]:%*V6_?3_\?AM@
M]AW<, S$%)<GD[WW'Z7/J7I-M^;@;?.8OH&P3K,'$38[WOT(O/LR$TD>4;KI
M+/_V6Z$K.J(N^F&KU? ;_:;;]P#%>YW0\WS1>BC^77]V_/OR_/#;Q0DQZF?,
MPYD*'DG#NY6I%P:)'<Z<(6/;^;OY!Y#"^K1.57B=S/86(Z7^@T^? >A1.AI%
M.::$@Z $YIM,4/J\52;$?_[![0"Q+F,IQY0G]0GN^T:W6:RDTPO<IN\W6Z$
M5N*VO(YH^XV>V_ Z[;9P_15,F_H^_K6R -S\LU1<;9CI5YLWC&^,[&FBZ)D1
M-(XG_.^#+)TDP?[L3XN6[Y'[ZJT#4),S],H<5'V5\>OINST TT^#",7/:,!;
M^76OV6[N.7S)KWL]T/[SS ?),!(#63_XQWBP!\(.?E&5!S^W@ -WA2.J'LKM
MXI)Q^UP.0,4 9E/@)%8+OS&@WJN'_9;HN*U>6XB6Z'I!X(+5+OJM?GT%_":9
M@;S^\OCHS]].OYQ^1BEP\NUHTU2^EX"Y/^^..+X!O" $<M+0R0SB.")W\K'$
M2AJP/:+$B8K<\8<B@\6\7HF9]0_<G]>:'UX_YK/"8XW%.(=+]%]K59U;O8/6
MGY;H@&I%7EH4Z<B\S&F,;QSJKW>+3G@GHO1_T@_96Z;2W,&!<+AI!GHZN>VI
M8$N-,3U*@PI#ZG7;8<_KR4ZSTQ*>$(V>< /7[73K3=$-5V!(<[I[CF\;9^D5
MKHF-TUA<"TSV7,R@%FJIRX^R>=#K+SG*/:UZK/:D5O>@Z[XDK+@4-R<J;]TG
MS)A3P!K-3MAHAFVO[[=:=5=Z[;#;!W1P^_7 <[O>*@I89]]MM3N=7OU>!SYC
MECP0<?_4(;D_?4C X(GX'#! 4K! ,N<?UM1GY/B13:AT63802?0O^OQZHTGD
MZ6%[<G!^<''@'(_&<3H%X%:1V_F6'MP.P77AW+U O/[#8AZV^&GK <&SY)Z'
M09#)/%?_^0)+<BW.Z04B\.MAHQZ$]5:OV^PW>D&S+NJ!;#9;P ]7X)RGB73^
M+$: Q,X1;7R6@=9LF#G+/=++UMNPU]L-F]U^*.M!*VCU.Y[G]V3#<[UZ1_3\
M4*P0=7D/_^H[OP^C(I%3YY!*S&O.Q20"?M?\,+?V%9=[!'^>9I?I=6*[T#L]
MSV_+IG#=H.5Z\*GM(KP[K5;@-MJKV$T,V >!*+'TT^P,=!Q@W[8Z%7BBT_)E
MO>/7NZUFNPY((1IM5[9;0="K=U<)S1Y=;HV>I/C*<R;VLQ34V?C_HO&,WMP6
M7EL$O7;0E<V6V^YY]5ZKWZ]W.JV>']0;_97TI+;;VZE((,85K%$=&F= 4=%8
MQ(Z\D3X-/H2O0:++?*<,W0Y%0%('L?1>*L\]O/\[?X(=BJ-W/[KJL\YH[*NE
M'!%%\F$FQ0P/Q&*1P&^$7C\(6NVV%*&+.8E>H^_VO9:W0ES[?0,+JJL<\/6*
M$OE+"H _&Z;)?!2A+IKM3B^07L,+6J+9Z_6ZW:#IBD:CWZLW@U6TA5Z[OP\6
M[*.9L,OQZ>FQ!5"C=&C_YQ]Z#;?[+G<N92S'"'Z'X5]S3A(<; N4[B"RK)47
M;62@IIS0J_RX,I.!,YYD^00=ND7JP!5DF+J-5]YK%'<8E#STB[<K.73;I KM
M&#!+]?9!O[N 9$91$,1R*[CPWOO+J(C)[R^%/^0,E1]4<AH'G47ZG8+&/?6<
M1N.@T=AZV&:">!$GO;SZ8?71/>@MTOE^#++-[D&SL^V0_::"582T\L8?BF0
M7R3.]3"";TK>MRYAN2+M@_3<5! NU6J4#)FZ#8^8@Z75R$Y;MMRZU^CTVJU.
MV_>Z+B@MG68#[$]/K.0#P;2-%/-"4O][S1F+S+D2\40Z?ZP?U%U,B7&H\\D#
M.2">@B=MXYDK3L6,RCIPM]]MB%ZW[@;->JL7^+U6PY?]?M"40=^7S17RZMY?
M'CZ8.^DI^. VGJ:FX&/%&&<R0*0OW'HHO+;7:;2P^AB(V6]Z\%??D\V.^(&
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
MU"I(QP5AS<V.M&8]$@%W14(NHUFT7CQLU<@V+=8R&4RX*)+EO]Z]F< [2-,
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
M-=N0TBQCV@])$0&6!WVT17LY+TKOJZQ;,=6P"7OEE9N5<SPJ>P&3".TA$#7
MQ&8G&.FJK^_P6!._SM'PE^BU+-!/43KCK7'49;<\)@?#;O$Z/C%- C42(4,9
M!Z5HH9A8,<-DF?&6Q3/.W2S8FJJF7U=2)L5C%LY:LX9AHY6IUJ5:E^B=5 8]
M:N(OTHD_Q+(IU8D*NYZFW,&[HOG D6-4(<I'N0[OX[=@A4_17TY!(L*5+%6Q
M$C7-2F]] ')P']ZP/TC53]S%*)/<Q11O!O@EDR+3QK^Z#)>E\%\F_TBG<.8Z
ML8@\/WS9_%BZWTM.Q>VH#;AL\*!'*>?A'N4.>>9.XAP"X@&?.H/-E1HAMG\Y
MO9B#I0EXI0J[9HY1Z'[E&B(6)^51MD@>8WMBLE%ZCU$#&E,_CW+HM'-![ZW$
M)K$VD$;_CCG .\^%C?+%S1"-MT[Y011H% FB&P.]OOOPTSX RIF,*;BG73YS
M3U\*%&Y)*>-Q3B=M.*1B!+-]&DE<E#UG7UEC)S%U!/XB/@3Z\H0:R?''4' _
MOHD"-P 4Y :7W=\A)FKV +%%RS']["NRQ#0[?3W?^5)6F*<*UFL:T #@MLEX
M6[7[JI& ;-W0X^X::WB.&>(95Z_2G"E6Q!GV43EUD%MW:4:B^A^5$"Y_F7C
M&2*MER-R$;,!.AJP6Z@T!"9C>!?[LP2&KO<MU$!'<;2XN:P&@QY]1\X[C+M<
MHP67*+B9]J/J#/0(%M2UT%;0(_3TA78@]A8CS/1QO);4LHR:"ZMX*R\0.)1/
M_LV< DFZ0YH92TCPQ897/)APZ\>4/Y%'H-*3^>TCM:31>?OT,H4HN!(+*6@
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
M#IQ34HV7+IL9H;WR\1BD@>F=4&F5)53G7Z0AF9G^AU%FC?U"N,FJ-"E?CC!
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
M60\S,>#9Z<8A7)$\"3;)1]MQ1NG2S3%S[M-<;?-D?*C<HE$69:]YEH!"V4>
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
M=!WPLK@""4&6.#=)E)B30%RVF;?>DF1_)O6["(Z*#\3GGGF$LBBJB5?1V?8
MZ"3BS-N.)5  Y>LK!M\43$V/RI<!/WGV^1@VGP&<>6>)H?G\7#Z![N/G*7S?
M%Q$$F@4$A-A%8#'[2,Z&<Y0;>%KH8XY(D!NAYGV9*Y?>X+5\JV9WZQN&DW^W
M41.77%^D]1)9HKF-:@-Q"?,NO-LL41'N28WD@#F* W#&5%)?8R/$^B'27MI7
M0BK2:9F5%&(E8P@X_]O;U/,T#+AL6&,KX[+#4J @;4L*85RKA;N+SEK;E0:L
M'FQ\_K/*@DA^_=JC_M[PC5UL*PG<*[W$-7.YMPCF&,ZU3H,-_35$,Q6$MS35
M[WJ["1F,;#)_R*+SX>693L\;HG7X6+R5S]$O5WBDWCV\=+%3&@ODGKHD>$G_
MXQ#032VL$%VZ*E(/U3WLSNUD[E^8L;U#">E#9?AV32*%[O'49(Y_7B; @A*D
MXPA4K)FBX=.F?JT84%J)/0.D_<3*'CQ!G,0F"9#0;3$*62JX##9QO<26^3Y"
M2R)Y'6VKKB)3PB)?8_"V-CD[>"2&JL)0/3@$4G<^:!:'NZ_RRGF>NW>XU<M^
MQ &2&WLP/T93Z$4:QZT;(3 Y$! QO=@8UC 9A7MK<B$395L>&)\ELDH"%/&@
ME#!MF@253KSV'?7L!"P[_F^RY=:T)]/Q/C*Z;/)^T9?$GR(IBDW/^$U9"L"3
MSB9DR;Q/7M"/S"ASKI25&VAG_<8N08V3>)@2E$D587U&%Z7'GR]R11=%(?&I
M(H':C<]Y,HT7_()D!.6L7<<>6QBZ#E<HYD-5G^?)4#P3<%\[T4*JG5PB6M6\
M#5>YT"&\K+4!G5 W$0R,#HALZPV&>!>"X$"RJPK0,Y%Q:+"("'BWDO%:TV49
MO:J&6<)>V#J,>/M(<*=@JP8W8=NNJS0KIT3H3.LEATY684/K:7KQOW>]:>0E
M[;CRBSNXKLH</V(1=L=5#8EC X$GYD,F^5[F)55Q?+B.]/TRL\":<J.H59-W
MB=S(-/]>M",:74@@7"FK7$GDD!P2]R-I,3;2^D9>Q<Z['W)M3!A>;78[GB%1
M#?)-VDLR_M<95@1KPK*%XZ03&\X#HSD4+8[96SH_VP5+*CD6-=.2'+D"+82V
M LV6D/4T?X?7\JD,Q+(9X2,B'!LDSH+B/E7!DZB9[G*C0H0%!7%[5R:#$N,!
MXB1M7:>I,RT9Y=XJ.P.Z1%=VEU>M1Z>&AH@3G'1@M#!5N(7/>C/2$V.SL.,O
M-T 4KO1IK1D;S1KZ!QJY+N0K7JT5U:;O?*Q&TA=9*DDC,J1U=J[R&84"O2F(
MSU0+)TX)F;..!S 8>9WV9ZUGB?.^Q,V;],R"UR<+$/)#2UK)SMWL5:7@[_28
M+/GY)3.A?I,VCQT++2*F4)/($]='@FUIZS V)QM#5 K:,#<W2;*L5L(P,#1#
MRH51=0S=K^%=P"2BHS0_GATTC5N5B,^$4PBNKMF4\<GYS%1<XG,%JPV2?3MP
M(E.,3._\7P?[N/\2_S9A=PL3<TN5H73&,>-X=I\/JK''B^OWD2JIJ?8*.+1
MC^#1F<UB/>67<?10S8[8"[$@/8<U_<J8V/G'3KK(+6!@%I%&M#7=./SQ_!8>
M34S%@:Q&:,?ZS97<U.KS-+</1K'=.1O"\44':9C8E+AF#CCI]#IP[REPM[1@
M!>B=%QRJ).?8,82_=S4D(Z,/@VB@4VV"*4ARDAA<-2V+#'ZY5G=%E8Q(G!W4
MRX-5S=9P2-CJE8\"!'G5HB1ZX4X/3CG<FGP]1XAT+L(NV3C)$PDXQT$6H6Y
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
MX*DE&1Z/: !7PT0+"  I'HAU&1?:+\@=@=_-D65:"W?>=O4T_\7^=P*N^_C
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
M:&KH:KV,WA;=<>Z[PVL)D+J$E\F<\(\?^^HI&;-+86-.87S!!I$W@ 4SLM]
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
M.ATFJ0[K=%BGPSH=5G,<F@A:IV/;%.\WS@>F7 ZP/L>N26K.P<T!B5BG;PP
MFG4KC#CLL4"(&U,<.].L%NS2KK%=8[O&=HWM&MLUMFMLU]C0-=Z23[]^ M>F
MMDY;!)?\%&4\B5@6Q!$+_VQCMC9F:V.V.[FR9I/3K.8P+()[-.+GGMMX[I[$
M<ZWB.$@)M"['MBE^VNB?F7HOR;H<)FD.ZW(\A\LQ,/96H'4YK,MQ!!)H78ZM
MZ[R&VS&E1KMU.79-4IN99MV*8W8KYDZQ\.?__!_P 0.M3Y\] H7VQ:]_&2;.
M:_&Z[%P<CF&KCL=#I*8'R_+7%^T7]+=<)O%WR-+TKR_>7U]]_!RDV7=\J6""
M1]-G,"W%SVVW7U;%4\Q&,8.P?<7JK7+ )X>G.NA/:]@SBZ=OG:H^>.IR_WFI
M$%4'Q/(L7C*@NF.^Y5R^T9,^)V4AO._'(&F9$T1>F/M<?AB/G&D2^[F7I3!.
M> ;:A<$[/K!$$@QA/@D\E#AQ-N:)X\' X0GXZ&X<0TM.EB>1DXZ#J9.-XY17
MV@HJ8_"Q7?%7VC)'5M8[B'5)W3R9G?Z"6JZRU-K7Z[7^XM<O/)-K.8)UZK0[
M+BYQPEG*?>>7?JOO0$LAD+V!Z]@9O&PXHR2>*&K#"^V6,,@.%1_D20.8-9D$
MN&HL\N72CUGBW[%$\<UM'.83KO4TG#G=[DM<=S8%+O@93%C&PYG3[S30P<VC
M +CB+Z]QYK^J@38</PEN>80OSS68(G>Q,'3B/'$F+/G!X77^T^/3#%B-.R$8
M&I[,Y%<--"C>V+GC\ Q8%A_?UF?V?8R\"6-*%GL2E+CC,#?F]#HOBV^P$1RW
M>@/)1IU[+ VBF(AS ^L4W<AAX"<-(@'P8@H+!*/)> 3#8T[G[&6E,;T3G./5
MUVM2'Q,2$:U!'%1OA4%]O/XNW](GS4 9L1M8-=#^.% @@L=1ZK'/J5COM"%(
MH%8]K5OV<J7=EXZ?)]@8,9L73Z;P@(_SUDE^ :9&R'XX:Y3:!OM-XU&&C3:<
MD UYI;^$>WE"C2<<.".7$\2WR@GJ#-YMG548?' *#'[O^);)_W,JCF?)X+A'
M[-V66Z&*BV(_3XF&% D8#%","\;MS/%:58L+SA?LHK$_#63SA-V'%=F@+I>M
M8U-OG""#\7O0P<<X]O&!6Q3<C'OC"-RGF]D;*692I7[-$[$J2LO%HQ$G(4 K
M#8I@5-],(5$IR=B[K[]?_,GA7IS.THQ/E%X%SAD"]<0S(2CV-'-N> 2JA925
M4ARO[^+D1YK1A\!N89S[S2$QI))X- XP+>$&$ <E'-OS=45#? @Z[E_ DREH
M.=%'K-0CIXU%,QXUQW$.3!I/Y3BD)H<))S! EB<LRE)D^P@T2< CF#BX+_ =
M=5PA2-F&KCR+4:/DQ!%H<M1@@D;0:@H^$NDTYJ0Y6!W\5;W29&F3-57S)__^
M;_U.I_WVFK%K^M5]^TI2ID(0%&780HV=B\A/XL"G@09@&>3X4-1H86!:PH_#
MCQ::@ ?H^3SA@B23&"Q&3.P 8Z298\O\7WDPG9"!R@)TZQJ2*FS$LYE0SO!.
MPYEP/P";%@P3T!;(L-Z8>S]"FC\VE+'TAT-_-JH-%P0&=@<SA!]I!$[G^4&0
M&EG-5WP ^N8&=C-3X!*8V@3V%D >9&C8O<1>4.$=Q:[2Q4WI.5JNJH&K\ND8
M1CSFH0\N*@X5ID"N)LY%(R2ZMD/).OK'*8]2\)%;Q#""-0KOJ1";3&<F;*'@
M]H*SA,,CQP OL*R<!BB8>09 -R/WQBDH:O"?R'Y&'#5]=A=C=\D$^B?[+CD
M))Y%03I)1=OTE0-*?M;,XB9H>RD022S((BUSP[E)V+ )[3=O8F6MD<6F"1>V
M!-^2JRZ9G$?_'<_ I9.,[O@HLN)57;@$K;25</)4S#6X8KC\,$WX%\5+6"$8
M24;&JYBW:NY=+'EBCOXXJ,5NF)(*XM(I-%GPU'=0&>F%ESD?T.H!C8!#_R@X
MU[DFTJ,J@D7'Q2=2QA'83W)Z;^?EF?1,'GDE>[-;%H2T/X^%7I8+3HY>&,9W
MH%# 96O"5TT6)$X^1?+1?HJ8?K[U>;XH2$+3!K:>IA5-)V>>(HL'Z7A"G"?T
M<*$RG9-2MXR ?V$S&)$: .N?XU9._CEB8 ;D9]@$D!/T,G;$']+ ('5Q.B4;
M!XJF9CCP2I8P6(F*FD8:!SXHJE<.!_L&=+W%/890+A7=1<Y)R;K*,H!'RO E
MY%C8Q()3C/\6A@7?DHTMLS&*P-_J'55!=["FTCR*G5$A^^0HZ;J[_"8? E,'
M4[&TQ%CX<3:;8B@!)@GRF]P(YZW<AK,HRNE;Y&L'!MG4. 3F "9*GZD@0^&+
M*QFG78J/@L 27#)!/D5TM112RLEWP#'!D*?3."ET/#B F]S72CI?ZQL'$./0
MOP,.6.K.% $(LH,@,3/.@$YB>N^YQR=#GJB];Q=VH-)_0@=ZH\,G6I6-MS?;
MN-BMXBQ)9[R1'6W&D5XM?KB12.&#P<%*++$(6GJCC :Y3NAPO5,%H/&&SB>>
M\>A#:_IL>2Q1I[''T; ]UU[H_X"L@>D$4=OB(<1VS^KL:MK5?,1J/OO)K&E7
MJ]:KT[BU>$U]B.7D$_KBX.B!S29WB,+,X$VA@($SF"Z@CF_J['K;\/OKE,<P
M0@DIEXU\-7+2MJ:+C"CG9!ED3099@ "T#+(S!NF8P""_.)=C%MUPRQ>6+RHI
M/'O,%\_IN>F7XA]S_WV+9V_O9;;*%C*Z#4S!W&P2X[-E6F\IK]I(8KANX[S;
MWTE&IIGIS7LL1EN]&64D-P^ZK?9NTHNWD$G\;)G!5HJL,3*"&&>-P>D"[HCY
MXFMMD;5%-<#G@]; VB)KBZPMVDOQ[37.^PMWU\P77VN+K"VJ<:QJ*@28S\LF
MF:)MQ3,-/96>N]=Q;#7HUSDZ, .B9MG0MNP#]W>C=HPXW[+,?%C,?+ZKV.(C
MN=DD\VG%R(J1$J/SW1PW69M@F?D92KJV7&L4K%&P<O14.1KLDQ0=AU'8=H+>
M>C!I.V?9WF(Q;Y-YUB3-OZMHVH,E<XX>-7'KZ)_[?GBUK_1R.XVSSJD1"LR"
MG9HDM@;XI'L@/>VV*=' ;0&9[O.>\ C$UEI;D^EUWCCO+F"-[ZFZL,;6&EMK
M;*VQ/6*QM<;69'KU&OW!%E$8K+$UB*3FQ*<-%I"S[F)9#A,7<\_,Z5Q4&W\N
M+PM@ >\LX!V]:"'2[&K:U;2 =W4FQ +>6< [XY20!;RS#&(![_:408P -K.
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
M7@EU8!?]"!<=O J[[G;=]V7=YT(=.[/>1BRE+91A\>YK>,+6QK \4>&)_:V
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
M^##=2XFA*?1,'1P'&XJ6TQPZ9RF]]RU/TX U__XC@:'B!9EH!%*7[41)N>3
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
M$PN]YEZ,*_N,JDF>D \$)(VD344=F\,3!KJ:!O@-E4!EI^]VRY2W+6;2FKI
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
M[M5S>J%UM38>:;<[R\L0KVG7!JWV6A;R*<[:/:OSY!K<-85WB"N?9RF_"63
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
M+5&*&.<Y+V6=9NK0(IRX.C.B\?E?1?R_XH V+70XVQ$:E"Y+XCPWX"HXN)"
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
M9LRC755D9/VZ$C=]K3MKZ.V%K_O>OL!J>>Y'?=9.3%/U9%1YVKT\5>/R(7K
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
MR%(R8D4UR&]ZK.6RFT,L^396US'ZRLO!_MA=?_6Q.2TJZ572Z^R</9'T!/+
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
MC[' >H5VA78'H(V<@5.Q]*AVP'7RE#0YEO_K(4B]HC+,PZ!]=(>E*ZXKKCN
MZ^@,SVIYS+MT@N2]=X! CIMD M*JYM0/U,KKP>>*]HKVCJ =4Y(V*!V-)  F
M,!KOC1!DK"4-=WO6JAU=>U#O,@C93O\\YCCLC6DR'0]"WEUFUXIX[J8&=<T
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
M-T]*N\V%GW_&,QP&ZO=>4&@VTI[D_=Z?BVQ=&^]\=.UO%6C^^4_E2QN SB.
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
M_R&\-:CC(:RN'?J8)DF>$V8$RV(:2I/SB!.99#P!W8MUA\]U#%9RUMO*^\'
M&D)S!T[QG_';(=]L\-#[9[K5$OK>">A*VY@L80FC3(0Y)5&8AT((PH1($IWS
M+KJ\HQ3O)S'MZSXQ!.0&=7]JIN'=^JYX%E$J2)[&*961 *77D:*Q$*EF*NY(
M0SCF\2<91?T] !V"<R>W'6=<*?!EGKF__1Q$LZ_?LM58+O0*=8"-VQ4VDM?Z
M]"SF9.=*G&UG*4JERV8L_QK:_PNJ8C)6!QO9GAO,PX;6;UC88YM!$7Z[E-6+
MJ5H-2[3^UK8Z$QI%E!'*94A-S%D"VX_4(2$Z)R)6)[$Z$];;$&&7]IW3VAS0
M8$"#XZ&!C!*P1%68,45HK"+!I-#P/T92E5'2T<CK&)'*_AJBAT.#<]IQ/0T,
M'I,UZG<]#R2OKH)%99LMMKFC0,*^],N\ZV5,81>@]C/J<+!1]WN'V!&7 /%_
M"=+_OBR^C)56+V[_6F&7M.615:,#[8)7DT24)B)C80;_48()FG)%2)(HGJD.
M7L#CI@HF_4T5?* 2?W=1BP$J!ZCLB^P> RH%C:G)8Q&*,*2 4XS$4L11+GE$
MM*$'[#M^SY*R 2K[(FX]#? .J4U'2FTZX3XSI*\-:SS4_FW$$=@1R:<QA& F
MQ4T5F+*X#L;3+[I:BR(,K-/?0!9"+Z9IR&H9Y.G\\G0R@_1\.P;)C[EES,9S
M/@GTUYF>JO%\40[$-D/%P<-B$N_Y[37(;O6IN)#_6(Q+77=;?C_AT_G%5+V"
M3V?XE7;X-C2A-B'-56QHE#+&66Z2D&6A($RQ ]+<;$TKB_/>YI-^;Z&% 4<&
M''DXC@B C90R)7,5TC0B(A$J5UD6B9@1DG5D"!TA)R"C XKT!$6^[^#",4U%
MT$:IM?*QA?F5#BI0#6P=:L9?M3IC]?C3\G/Z[P[V&Q%V;")>2E^#D'X$^7QG
M[K.+9#'+<B43I22C0JH\3G2F#,LB(C-!R4FLT=Y6P XQH$'IOT&ECZA041IR
MFC %?FC&(Y8RGB6QE$1D]$CII /S])$MLU/7!AU'X-T$;O[[LIA,M-.!'\=5
MM>!3J7]"(VQ:S/6Y>YD,Z?]#^G^[,T#MT;\NRC9$_PZB6G5W,4E4:!AG89H*
MFE/%TDA3FH1A;IB4[(!=3.Y7=9KTEY9D*/T9=/_LNK^MG]'#E3_67,B8$<T)
MY88+PY1M\ZXEDA$=,$UQB\ZG_6U@M*?&]UN"^AK?&RJ35BN39C[C.!"WP8^^
M3.FGS@RCWEB>O8P0#,GW/0:CO7+OW]0ZT)E['[(D9B(7<6(BJGC&PY!E2<PE
MI:%)9$>0X1B\2?TEN3Q\POU)+=P!8P:,.46!SW:0B4@6QE)('8*['&4ACUC.
M=1:'4H49R9)3DS7%_3T/'PI\>F%?#\4?1\H ZGOQQ[#&W_X:G\I'/X\[?IK:
M'3.>\JD<:G>^N7/V7DS3D+<QR-/YY>EDMN;Y8K/'3,C\H+\4DR^X14C;7MT^
M!OWHLKB!3X<ZGB'_?M\DJK?P_.J=>6GEJA5HT#I-=)1DF= 1E3IA*@FYH%1+
M%>6Y.6#OGB>9,C5X1(/>'47O6,C2Q&BB2:PIDTD._R]5$<MEE%&>'## MY7C
M+$MZRWW99P.DI^?&I[=-9CXE9/!CG[[?\90A]X.N)?&=N0MR#<^U27@6IY)1
MDTMF& W3)%8FCFDHLN_<U!EB"X..]_LD]3Y*3E.C\S!/XYA02D6>9R(,-1%&
MIFF6T\&N&HY&AW#5@:;[;=-G6FDQ'^)4@[_\>'_YC:^ >F=L_P@4L4\@8;^"
M@+50/@:H5C0V<9@GE+*(<QFJ-,\H2^(HU0>D"G^2IMP0M1JT\ 1:F"0FDQ%)
MTBS-:!:&/$X4:&5$21B&0G1HX5%L+9+%WY0B#C&LTQ">5/-"?@Z*F=4%_567
M<ER=J=AA\'*_(R_W <P'**'OK(!6K[R JI4LX9A20P!SP=DE*F11G.>:)2'-
MM$R3T[1PIO&WZ>H.(:U!V7NE[%$6,:,RF)><"L:XUEF4L%2D"8\4[ZBD/X*U
M%6?)]Z+L0W#HP.1R-;D)<IO(XOH:M,&:8$.T:/!3'^VGOK0"93&T34"0*@)V
M4!)'*J0R-RP+6<84SPP3QL0'9!_95CT5C2+2V_*I(58TZ.!1=3#+5!Q%H5!Y
M9FBB>:YRD4G"X">C0V%.8K>P4=9?XI\^FR??8Y3('3*OFRE+^T46U9#Q-+B.
M/2%7?V<LXM8P_!*%LPV_:9(D1F!>:49)QAF-XTR'H4ABE;/H-$2X9!3VUP(:
M$B(&E!I0ZKPHE9,L##-M>$(()9QR)CA/14[S,*1"G"9M"U J)0-*]1ZEALC<
MHZ;[C_'\ZJJ8(&E*,.=?X>H9'ZM@P\X=XG)#3. A4/_JJ]15]8E_?:&GVHSG
M]E#CBI?Z!:^T>EE<S_2TXGCAZYH*H9/[*"5<20'&:FQR2B*6YXKP*(?M0:28
M[G5BRN#X"6>7]%N>AGYB \*<!6&(821A:1:*3-%8**Y,:D28Y"2."(L/R$M\
M'X2AO;4YOS> .55,]0E1$9\HT"KX]'.+(>E\$=:!$O1Q4SE0@CXH*/*VX-/U
M6(@6/$YH1F3*<PH6K3 Z P.8&-BF##7L)!';N+>;TL#W.>#@@(-/0W8?AX,I
MR^*4Z33-!4TSS4PB!99W"2.24$6G*2\AO77_!R#LKS7_774/Z6(V[<VFU=^=
MJ<?;SU."A;W8][?'AT+!,TYCE6592C6GN224I5HRL,5#$A^IO'@]\$Q&-'M:
M73YZULIC4/U!]1^J^G&J(RE,(A+&*=B;N8I-3KAA4<)9GIVFR@94/WQB#OB3
MS6$=ROR>1A94+Z9I*!L=Y.G\\O2M.K;',1)>&:.E/6327^45GU[JH.1S';B?
M*\Q[LAXMGRKW@_['8@RS=C9:T\&4_0Y-V5V9#U:(WYE77H0_@ 2_FZ)YB___
MU5)B/^AJ7H[E7"O\P\54K7[0^F:;R"?3,B=Y9"B5-$YTGFA#4L:5B5G(J3IM
MQE7>6SZ)H5_S '(#R#U1D /]3$+"B0A93M.4"Y(9IB(B4D9EG(2G3?J*OC7W
MOM^2U]>SHR$R,7B20V1BD*?>35.O(Q/G/%UGQSM<?S.5I>:5#L8]"TD,-1,'
M$;9S'((]RGI^#\\L5"V6OVKW7_A]LD 3L6VG.]M]A7J)9H0HED8\I:D$(SO.
M\EB8G+$PHVF'N7V$,W0V"K\QVI=!GP=]/HL^*Y,9&J4)33BG241RK<)<Q*#F
M<2SBY#0T3NF(]+>Q2I\MIJ=4<G1$"^OE75;5*! :1C#%),;"!#.K*+T)C/;2
M=1@2[[_/3:2U)P@E#4^2,,6")>23BB.>2**TB?(PS#K.C0Z7(A6.XH3U=2LX
M?&K^21,G![P9\*:/>*.)$B)*PR3).,WRB(N02IDFA&8,7,W-BB#"#M;E8!2%
MWU$E4(\L57KF<IKSF*,:/NV7(4I[>$*OBH68Z(ZA]1LM_W2Z!=UK>WJBTWJ:
M38A*+7(J:!8Q3@7L09JF/,LR(B1-==I5''0PHY>-:)(]E5V(]JPD: "P <#Z
M/:VG ;!$42EBGH8B8I08)D(=&J%RKF-#DJR+_>K[]-KW![!3V<I#^M"0[C&D
M#PWRU+MIZC5L?J/1A(^+V6RBD5"'3UQ$P4R*FV \=1LR;+0_#\E#)T\V.*$Z
M#@DEPQKWUAP]'^0>D\+T#3A*)?A<ED)_:+;RL"'UVQGO3XSCFYC.[;&-6H_>
M@QK]KMMY9TQ&89Q'2<+2E!HJ&$EH K^*R.A8F>PD>:19;Y/.!I=N *4!E$X-
M2BI1*<D2SE(:TDC*7)(0T2B.*%=IGIXF&?;;[*CW?<8%CFNDRN):MWH]#6&
MH>;@03B(\O,)Q0>A<(4X1.E(AG'(4DT!$852A&8J%*&B.>.G,<[Z>R(^!&0&
M;3N@MM&<@V+E*LR3C(HXS3GCC"8JR[,\2?5I"-%I;UVA/IL6WV%H[/=B^LR>
M0D@^&^.1A/XZTU,UGB]*'<!*70\MU+^!T\:GC+0OG6"^6LIE!>"[*$NM7BSF
MOQ?S_]'S-0@&U(P A47*=$QE' EF:!13A7QI89YU0/ 1#)Z\MZS@0S1J4/EO
M3>6S-%8D#),HH81J%0F9YB+E)!*9YJRK&< QVM DWXO*KQED^.__^__ !UQ,
MM/UL#PY9D I1!O_N+O>3M.U64F/D[VAY&EH'7(*1#[-PBP7'TV(.MY@7P<MB
M:BO#^%RKP//4@^'T<0X?V$9)S^\:_>I(B=>]W6\M)YJ7=EVO&M-P7LQ\GHK_
MH,Z'Q,]@_2:\ M']]>/[U^_YI7Y1:O[Y OZI5=W>?NU+KPMXQ7()!N>9^/]
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
M[-B^WY=';7.)8XVMKW# 0H9>!J+W2E\BO<E?(GLE,)%\V&B&C6;?87_ PUE
M>L\M$K3)19I-X@_MLCPQBWN3#VLUR=26Z)5<+?@$L[]]EI=JCG+;V:#6Y&W2
M.<?7N$5HU2_C=:^T,'+ O+"!_:)G[!?LNV:_:.@4]M2GO1(5H_",Y3I_:)NU
M7\?#KPL%#\-J@JKI6717FFR3A@\V-=8&K.;N^_*".BFV_LZ<?];3=HJL$XA6
MGJPKI&U54L!D^*C'>I5-4UNA]!<]*68^*:9575-YD8=7WI%;^S@DC?9*$XAZ
MDR80[<=!L4%"<4+)O;#Y5^!MC;4K3;YRA U8X#-NRCG^'4092WWGE4N<M#0.
M<^YJ9+ 9Z3S@HEBX6A<NG/L'XGFM];RNH5GF:1=B@L4E+J +DN>$%^651%CO
M,;^J6L=I^+FR25E3?_2W$27KHI+RY2"N$LH6R;P&&8;7?O:_\5ATW(3H/F@L
M+&N.&&\TTG?:9*25(CDL)5(^7%B'H9M<]5H=G5XO#1E;^U8KY<@57$W&^HM>
M5@9A!JJE$87+A==C[P?;H]E678TLKL48N0FL8VW+BNYJL&X_7+IC_ M6@OEU
M<4>U>/F&D]URW?%8TPT#%MN8L1PC?"P1QIY]8B*>K6XJ2PLNRX4=-69@7>/C
M3GIOBO*S?:#_ZSIM@I<%K!2[1OQI NM+\4&TFKIR+5<(N#YXE"FL*X:M"O-_
MM\E4<S:Z6YY:@G&T H-HK]/)J#>GD]%>IY/11HGU66N4_^I2:B]@J:]GRXJV
M5[X4K#K:Y.T5!(]Z$P2/]@J"1^<LL_ZML<.L'YO]4CF -FU@\$E1B(@",!]C
M*#7X65J@"9\B*+=I'+[XD\M[[V<.]AX$0O"?)2,-;PFKN^EXBMB^6IGZ]X6Z
M;!);ZM)&"Z--G:OE\VBA]XH3;Q.OK7FP9/S!DM+JN65XJ;>!]F"PA-/.95TL
M7A>9UX7DKG+1O3\6F]?5HQ42@P7SDN/>T\B5S;G9C!VL5A*+Q=P]\QH7[JX'
MH\%N2\6#V:($,[=R,X&![#89A7]K>#U'\U%3LZPGLONJ3-AET>R_ I.BH;[P
MIK1=-J34L)P@+NO*[_>^C+,^QWM1+ZL[NVO-I[4AT.Z2XUFS?_G8R/0."J0[
M&),VZHQ!N+N*\NN348/T(UI;^7?BTCIVM%X)R 1&I6W68 4&$-B/7US1'I_<
M5N.J\XW@R6X2\/X2-VQ[Y-]48"\+;3FN"RC ,WCIZ;/E)+0\&&OUM"VL&U=$
M7%<&NG)DM"G0>E4KU<TFN./N;GK=U]TMU[$ [;^F)!*KQAO57:F,QM^7U8U(
M+6:5Q[V^M[([:A['*)3(,,3+V^?!)S>!_CZXAM[0;0^@]C.;\N&:L,$;76##
MU[667RP?P_$LFKT"[E%O N[17@'W:)^2X0-RA]2B,/+Y,R RT_F:Z](BZ.7@
MXZ"D[]Y_O+E>^;3+:Q3\Y4:",E;O,57MU8'* (8[-@B42/2V$")L>K"%7$ #
MC8 Z&3L7Q?*#U-12-9N$J_&IE18K@QQMB:N-L'Q;?N_1\]KQ:F[7YB%;#K=6
MG/E5877%Y7&T:*U\UHZ;R3%2,<T+)  4,$NZDDC)X&88R=*:Z57::"3<QH94
M7K<[!P5[AH:E@2E&&)D [-K9:!C9 .MYB7O5[:ICM:17N'0NV<9K_J$]D]C*
MZ\+HP.U%+@7I(:(F_)C:S099, I85[?#KT"TQ[T&6NUF@3A5V"S<5G*R')=R
M<6WY9I;CN9!SV*_=7#AV&G1F%Q-D=\%*K)K&#)=A.5[<)H^'2WL%[:,=0?M3
M\H7N%26-SQ<E[?2U;-(Y"( +PB 6>7O[:!1@>X48XQTAQA.N>[Q7C#$^:XP1
M$SHJO])EL])^ QIAL!HPTT:V+)&JQC#=C^:G'\E/"(@?].5BXF;IX[/_;2U@
M:[I>%8@7<Z1JU):B$.%NN3'@9C6QVUM=-E?G<]HD"M7>0U:B4&CPWC7:L3.T
M5X?D&&*GP04>U0(:YANC_O^.1VFW'V_PCHC1*>5YKY!1O$_(Z&#,QTCX]#@9
MFB'KYARM*"23= <YUA:98.V-/:NQS%53M #0(VL_"3V4>C.US[145F[;[GC8
MR')WCB6(8VE]9F=!K?)SZZ\:'!)\$%X'3^<-LY.CE&P841MK<>GE5$L#T7J+
M-P7\$6?(IM-:LCF[QJ5U[XIM0W7!BVLL0+_S>>[=UQ]Z56J7OGL\9R;>*T(7
M[XC0G5+9]F&#// AZ:3PEBDNX,+F-&_9'7S,()B@Z"C>$&.UY NERXE-3<SJ
MJ_S-I$ JTZ^.W>-/41(ZR6DEE?N[K=_=$]SYAS09^*73!7#(ZX/8Z\+K8_ G
M$H;-G2UY&*S.I(FH.4WB/[G+IL7J&/'.PO^-K_ZI]81L^80M(GZ?9@Y=O63B
MY]GC5CG:N[O""UZ-JW?F?<M/O9BJC\O(Y86T/!!(#0#^J02D0'%_,6EH05P?
M!F5RI$A75$4T2V@NE$P4X])HG6DI#]"'P9A4*.1M 6&BE&:<)%(0JD(6QR23
M8<_Z,$3/@X^+:\=:;U9"P;R9T6#FIW3_U@R[9V6/J7R$Q7H(*-T]O#W>*?YA
MNR(L S!8THSK<MLEZ#Q,M*+<L"11-#>,YYKF*F(AYS$/=?Y003_?GG!P?KL5
M!>BFO$,F;#F>372;\4FV9_[GN@;MTWJD[-YI!TV0K0YR+=GE_;G1S54QF=P^
M*V[0[UEMB^%V,V_<K0ZM9LRQV428<3EMXDZ6T[W>-NM'C_ (!:RY5A1X,47V
M;:Q%:[(-S'C^/+A+_P^M.9T&_ZZ+3L?"O7LD>PP_V:'X?ZWT.].<,+=471#!
MLHCG>18I*I.0"9I*&H9,&\DR=I^V']^QJONC?+T\NG=IF4<=R@]__MD_!P]K
M?'2BT=+[( BN*9ZD-44T[=UZB5ZN&P2>@V('BMF\SG72P5^GXZ;8T:*/[ZCA
M%+[F5OC+Q<62$J*)[+=R$[LC_!N1X<.&]Q\8VF]9\:I%U+MSFIM3MSO'O3SW
M6T],7UYA5\2R53WW4>[[![B?GPIP._,R=EVTD99Q-L#M/$'<=5&V W!]AZ4F
M[NR,K;M-KI!F*14T"S7G-))I3C/XV82$4,Y)_N >;]\7#OO97BK-J8"X-N3^
M<&U9;N_@$U@"Q-+31*R8*EZJ*GA1P'\:V'Q]\?%%BY&FX_LO,?_;MX!I+KOX
M^+*Y*LK#IOE9/3>-*#[W7VL.\QQ488:NC6ZL,:W[G-,VVSABXN,[CO&4ICIF
MA"5Y0G4L111Q+?)$Y;%FD7QH+_"#=AQK^HSY4"8HSJC.7V\RG):=:!#-5QN2
MW=6+S,<6ESW!'$W\ML9)]<%Q_811G6R#LEEW@%IKI%2?C.)$(Y]]W29HK##M
MQ=PV[D*3EX8)&Q.]V6IMQ>$HRDL^'?^SSC;!4E3;%V*Y*WKOP&][RQ#N>.K6
MP,;%7+;P1#>).8%>GG![NBAYA6ERR^'@VJ)./4.+P<;DX(?V'RJ?(GY5W-AJ
MT8GK5('[)<BN7!H7*, ^E0A/D4^V379F>NRZ:"/1XVS;9.>!]JZ+V*Z !*^N
M+J8*__-JF5V^99O42<P%IVFN*>49XSR+TUS$DLLX(]D0F=BZ3;Z\*YW_U'[+
M'[HI>$!%M2T98?-T.6DV$Z::^X14ZYZ KL\=;]O2!L?C&)_\"@!BS[7XO/E[
MG7/I<TG67_AD2M^91;$SGKF117$VK>]F5MUY%=FA]Q\:=IH*=B*E 0/>X:&=
M-W>JY=\O,*\9<?IU4?Z*E4!F,:F_Y7"B!0\JSA)C>,)HFE)E:)XRIC,A8(PJ
MYOS!\-#QZID4)HSC1&09HY&(\RB.60J7YUE$XT2>+T)_'DQIU@?W\3K:J?Q"
M-6'",P!,PQYIJ;?;H]P<GFLJZ@Z_41Q;[$DNQ=QV*U5HXY<%&&D ,I/;5C8<
MIIC[EC[>[]_QO&5BO4V+TZXCCW'66KLN;-G-QZ(>$DBNCVUF#Q<7:!>V#F#
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
MQ@J3L$!:M,I_'=1L[KQ_6T\- _!)8:4&AW7JPC5.ZWE-,^FEO'[1U0"&3RP
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
M]3$#)7G8DQK]IP5H@\9^WQJ;I7G&6)QF%*P3F2NFHUA$<2A3I4,==M&?'2Q
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
MT\37\SV7+UY9;94'< _3[;AVQUZ-(M4A1S<^\@7V:M)8-R3;&%5XX_/15 %
MGDV5,I#0UB%1,' BB /'P1FFG5 244&)HRQ21]IBP-LC"B\K.-"@\\+?;WRV
MM*=*>:G]YS:ON'E9[2-=5 HQ(7!3O1<!_*S*P4\]V$/3YQY,%CT< 7;,^#;]
M;<5$^S"#_\GYE GY?R^==OC"1<;_%:>LU!N['?7&ZM<=5A6-QPFJM!:YFZ]C
MP&H.$6JMH^0^73@?[[#BURV!V0=XYUO?4!,*2*UT$#XP&DQ^NT"YHDA*+QY7
M8W7?-T1;7/([")U,@B*LAYN&P!=%:4*9HK:LQL5\-*O9#0RW&(HB]^"O#;MD
MQ4W!-2NN)I^K:-'--#L92YJ=SI_?JSOH^@GF^53"7ETQZ[FY&U7"NS' 0?AH
MOFS6!3$X;D$VH[*(2<>T-8)@1:4ERGK<DL'1ZX*E+B@)/)B9+Z%8*(-D>@\7
M?ZBLIFR$)U\RCH*;K73=W8#8;X=C<*J3J][ [J053#F6'KZ2.["/?>7I+<^0
MK@/8;J73Z5+0-3OG.6S\YL./ \G >/O?_X\B!'U7O<#'] +Y(_S=X.OJ;]5W
MJX^_6?B*(88< 8&7JX,"2?Q73ERG9;SW<IQ=BK3.55\TSF?S6D.F^R3$ <<^
M]35/Y[6SZ=#.R_:IR=,<1GAD^3<;9I^3YYMN%Q<4*FH*@2<SG69:UA0';;>(
M;F]:;=DU?3AM &9>5>K!7OYY&>4>38KJBK1LH,.P>BB\)-CYOG@@G4H:7 =3
MS-.7YZ4Q,"Z=[W0I/+>,G :@@ILMB'D;S#1]7)H+L.$ICA*N;R;3U+Z]2;,Z
MC%_><@(TS)L#. V_)_<YUV$V8_5IN451<=6?832\2CY]CHFD6=2^Y=4^@](I
M[USYD7$ZN:[V.7TO;V8I%A?U 43FB70R/*M=K12Q2K&-T3"D/4B_ES>L +48
MC">S<DVW.5*QB.,,3,KAJH#7I!;8B>OK=WJW113@+D.?QF^G ]2+02AO$TJ'
M;[$QLS(R,R_C>#:,0QS.B@8Y&[R>HB!YZP*\_7AP,RF&V=AZ/3B91MPK2RM-
M9>Z*1MPKHTGI'1KQ[60*+S,N\V) (T[-N"C-IN+-V.=?1Z5AO%EE<A5<=(J!
M?:N9(,0HY:6* 6Q;%R,RO<K<IC*K':AR=MQM?;(Z6])^19,N0;X6HVHZ1[)0
MB\8)).Q9_BU'(,MG%'-;#/TPX6&E;O_^_V4TO .WL,%P_WI%R5/+ZF4^=N7@
MJ<6?%HY;.YS7@T$:SUW&:NL7S+H?8./OKS^\'OC):&2FE=E=#0])P/XJU=R$
M+^XJ337)*N!B,=2C#-N9_(7*EF]]2G6[E;M48</T>;(RRF$E2R'($;XEF)5
M75P!R:Y@1\,TVPA8?C=(0?CFL</J8Z] WTZF.0:_\O1B-;VJ]C$:6U\2XM(,
MTV9.L[)-/):43EJV^7*QL"WJV05;EE>>5L^OY^GFGT+S0>"G).%*-D/M<0_7
MSK9!9907)SV9$VG2G^%I0/5TO\K*RVP *ZW?[BZ+KU"X?+?ZDO1RI2.6"9&5
M>+7/E4K,A_AA6EF)8)+DHY;BXJZ-5>?Z5,0JV?U>(8#3N6E[Y0/I0^8#U7_)
MWVK<THU Z'(R]]5W*;QR.1R_FDUNJN[ZU0=U/G?Z;-%"_Z</[]^^-Y?A![!3
M_GP#_]3)_/GV=[[T=C*!O5RF^Y^G4_$Z[&^^67FO#5,'5C!_G$^W5E&_^FR-
M6,!A*?7N^[>O,*O OKDSRQULD+):[PU<_LHF8K_*!W+?FM%G<UMLV) &J:^F
M]2W*[<QY^0.4<_,;LQ'J0H_J,Q#GFOZYFO;N6(66ZMKZ3TV>^@HX<X7W:@Y-
M_[._1.F]$M3TK@2U#PE2?T@#J-(I!H!=7M;O-SF5<NS?Y?&- (#O 8N*M80U
MRZFCBND0,6+2,K"/G)1($4J]8OP^B3F[$M88E9$H9)7@EGGCK8_.D1"HD\02
MCE]:PEK>L%?ER+";JFZ^MJ*.NYYEV4I^V)N65.OE^7JQ7&85'+^^&4UN0\AZ
MM>:S?"Z^$@?WP _3H867NYZD@^9Y&DP'"N\W0%-XC\$KT&U@HR=-6C)F>8NF
M0UO&3"KG.6G9_(U&]*12I0L#LS(1<U A13;=\&94FGC9<<1J$4-IRDC^#./O
MJ@4U__2Z"J14BVIN6?/M5TX-DDVRL%4K>^XRC^/SV20L+Z^4?2.Z8H;3[ TO
MSOM-"DV4YMRP:>$E$VEQAK!(&:AVI;*FBC+G HSOL#C6+VO!'V@Y/,YZT'LE
M;>FM25N[<60/\.ERTI;>*VE+;TW:>C ]3@C&(/KSHG1S?AB!JG[UP8&KD.0X
M*[-7(-EI,!/@B@]Y$B+X+"Y;_*4+N")(#?@J!6K%G_DS)(>CF%_?E+YH"35U
MVM(R-K4(SI;'+Z6+5@?G4M9^);+E"N'=,I*DA8;!ITGR7E*,%]S!8?'GJS@-
MH7000/HK/Q$HG>)9?G [#",0^O*TL+I#Y2%GW!OE0&EY_]*=!#]CF+ Q?;5^
MMU^3V[%(0VJ^896*M<S1JG.&4W[4*/5W&R>//3M*=8!OF62UR&]:P?X*C!JN
M5 S#%$-<"RJ77CHL#9RTZ0GS#_1>^0=Z1_X!?HU.%5K3;(?Y][.9II2ZXGV8
M9BVU.10&ZL$9))F(BC)D XB[9D8SS&7$CHL^%+;-:OL-I#(?)X VK=V4C#'-
M2;S3<#.9EF'W*MQ0Q4725>77-QWT$+$\Z*GW-%^5=W7P]<_O/WQ36R6#OU>6
M$)@'E_.AK\:;F *X [Y76V/A2T:M D!F-"_Q"2ZH<EK]P-Z6Z)-PY<YJEPF@
M.0/M^GJR&KI)UR[JI$KB)2%/R8>783#.#F.%%HM+ <;GLR)-EDX/K ]&*MND
M/H9)"X4[P4O4IV]E>.]FD@X>4F"Q?I?RO $,Q9$O464P!- /\$,5WILNHD!E
M>F0._^>TS\6R,ICF#,0:3?,1"UR1CL7KV%_SVRT++8E0:8AT]O,*'OL*K@"X
M*Y\PJ2"XC%^64;QL)]9?*+7,G?Q.LV <(%"9AIGQ/#2P'TB\Y7DIX&>2@3P;
MOBK)!NA>'DQ=U.=H0&6PTB\JA3$<%R#:R]/+BH.J\Z$R$S1QST(=^)(.)0V
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
MES7B+NY1OF+XXD"[#,PG,QR5V4FWRZ^46U>>9%>'X#6I%KO7=H/4(GX&:LL
MV^P1I/TCI+O#8[>%:1V/"HN@8U"<!:0TMR9$"AXJ-\E(:Q-O20X45ODC[4Z^
M]M>2NH?S/V4+OI;[N3B"V['[P-.AJ/S2^@ 8KDH0G088I46,O9F6Z0L7C;2&
M',!/7U_]2CW;* O.78$"U_+*?$K)$>"-)!<W!1J&V0?-MYO,I]MY+*^I?$XQ
M3)>M/*:,&.47*1]8DJ+9X_ON<>3GM*)-2F<Q!*+TI!(S-&T@+Z4E0CNA+ -]
M88')A"5(>"F(\YM&!9TM=M$R968#[TSFL^0?YGV\OYMZGR/NO078LG2BS01W
M@;#422E2K01SE$05M6FI5NZ:F8DW'[. L"T=)U>]?"T!8"/M)'SB^ V\OL<9
MNP,LGN;TRJOO +JG(/&O9I.;:I9"]4&=89D^6PQ,^.G#^[?OP;#Z81K,GV_@
MGSJW-M_^SI?>3B:@0)?9M^?I3_V?*=/SGE,FRGMMF#&Q<EX^3IPP6NU67WVV
M1JS?YIG)OG_["HO__&M:SLK.+&,8#5)6Z[V!RU_91.Q7>2[4MV;TV=P6&S:D
M0>JK:7V+<CMSINP Y7*NQB2,.B6[^@P0O*9_KORZ.T2C)=&V_E.3I[X:_'65
M]^[F;.P7DFF=F[GKHK7IDH^,*#TNJB3V>06Y1U2I3)PY3([ [<*0;MJ]OTQ
MK-+!;VWGKAK/R5NX3#V\*K/U_?OW@WQ)MD-_"-,_BY0!.?C!C/^LH]CF\G(:
M+G..Y76*?R3<W'D&L>(Q&A?>Y$L;FH4@*P-Q 1D>&(G,4"4%X#9AUF#*VR:I
M(XY:-<M[<^NN@OOS_120+2\'?H*WO$YO=CA=0EZW))I5NN1B<#.?%O/*9*\H
M6YM??U_H$<"*ZX6]!]^X6-V$:Y/.JM,:+H=@>=6W"JD+VZPT[\LST;Q;*Y=F
M=R\'N%-6QHVYG4Y&HQ)WRL.GTE]+/^63II+;!Y<Y]^,JF-$L&9W39"/FO'1@
M/Y.2!D>C<B#F='E8#KN=!OE= KX-)A;XW909AHNC+!O@^V'P-MCIW$R!3_G%
M(@MMX1<EQR/Q%CB]UWED57)3\EGGENOGLWJ255I1Z;J"E'P:NISY"W2X<VU)
M@>4-RN2XY8MXX*:'OD3#J08Z@D50)@&/TZBMZ^&LNE&5)>,79T%O_OCYP^"-
MFRTFF-;.ET!_&7R]M#72EF8^R3N0O=O@OZF9!F[K0FAE@3%\7AXD+HW]Q!%U
MPO-T&?VI^*-BB/2GE3N5@U!K-CS:683<!W;5=LVQ)37QP*M?6\CI\'_=>%K+
M(+SOW<L3BGKG%T>GP'DAL2_X>M5)UF^ K8/R_#+Q2OIV;=8D=3,8%L6\_&Y3
MWS154[K#(OH"4A'-ITD.F*^JG<SVR;4%>6A>GM>8/UZJMK3.HAH5Z,MXU0Q<
MQIPW59ETATN?@LV/46//!#,,&6,Y]89:*[$DSI+]#DGOI;MV)TS5Q@"YFRUU
M4%;)()?\]G1F]24TH'11_;!"]4/FC<A(N/'(I-YX3)M4!47 @ C("F&M>(C;
M_V![824B3.^?Y]02$C[L?MRD?(0Q//>B'/>8'-F%8EB8@GG;;LJQL6449[0:
MX:R$%10;Z*\DX:#_&Z9AI0=R>.CF9C1T%5*65FB.[-3!U!_>+$+!=XS)M(;E
M ]*7ZW2840-*QB%%H9)S_3]SX EXS-BD6PS'9=B[+4RLVJ+$Y1$=W'T\ 2"N
MEERTFKEI9<O%@XVU\O9?@T4PFN>83#JQ7W!\/5XS3P>>C+\IK>*'L_]/P4V3
M*?1V2>4FUQM&F:.>>>299MP:I&644GL7E4>V-8!:8T[ZJ6/V\F'9OP[D)$C*
MYDXJ&KM=VL^5,DH;6VYR%1]O<C3(10[FYP*PI$\R3]T)H/XVJ;]7U)R:#6X_
M#_51?5-<!L7P2REH#3NMKC K#VK\L+#@,63;MS1+;7!FGDSB+! ;I2ZKO*4<
M+>4N17)!3#"JGYQ#$\W(<HX:3S[ETY/R;.8"Q&/Q9LM7 D]M.&HL>ER9!?!)
M_?KIB=/0D.:[BZXH5[F,2Z>HTN&KEG@M3'Y>'62$,HLN[TQ]IF6R=0ZRN#2J
M5XB4GU3O6"6)"=ZRY9*NGH_KW)ST\$LPZY,CO#1:X)T6EQ_:PFJN=.G_5;Z;
M*=KRU/Z63FXFX[N7CB;CRU?)0<C.2R,/K<HX6^:996V:20B7_0YDK$"P0>5D
M00RRA]$:PER)BIVE6FA1*01V6J,>KAIWDI,;/UR!%?1#2GEY7W%R6U61-U($
M*@71 8$%1ZP ZR X)CV *E>[\U1V5Q5Y@R6GG%.)*,/:IFP-2K1#R!FM NE8
M51'<&U@$J)3$"L@&/):+"1]18;2; GN0[<P51KN7M\<[G;/"Z(#8UL)7[9-B
M[_!9K44J=BMAYM#+NKN&&L^6AZ)5UB[H^QPQV9("L\28E78.:1S"98;8'V[7
M8.C-9S/UY2G#[S$3X%W]_KGK0_.<'#$F%$;>@L$G4UD310HA3SF+EJ/6<_(M
MA;2J::^]^^WMPF!#VT\F9Y\W'4T6;3CQ;58A*2X[^/E_YLEH7[S@(+WAPK(F
M"+/VK]0!ARI:5I:4);H5998\Z.OT7=C9/\/MLD3Z NPGL/!GDVG1[/,/ZKQH
M.C9YE8-+4)W3G'+;\I2E(7$-6O+;G#&Y?,W\VM7A[$U6GE692LKY3C5#X%J
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
M_L/M7I I!TMD?CH\/SW7(_J=%R3IC6.ROWZ#'CL'GJ0'X*=K->9F?+GUV(5
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
M4'NI9Z SJW-=S.YOJ&<N(O[6G4ANI>!\PF?QJIT.35D3YMH%7R]%'+!9B&;
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
M'4& Z)Z[/-7X!*&.]H&);?:[#%Z1N [,&T,9XU(:@8E14G#JI<+W*/]XQ,N
M3XABMRS$9!MM#'??%NWS+ 6Y)E17^R@3#",,L"=!,DZYMM0[Y)P+VBC'[F,9
MKVL?Y;E " REB'B&&6AKJ&.<4Q<9BVBXLWW43O?M[K9H]+2HR96P?%JZ<U-O
M:>,OI;G8O#G:>B)L0+F5YDSWI]PV%+(=3F\;72KG6[P;5Y/99IEZ&1KG$L8U
M71N7,O2+^7+'@:<C'T4[FC1Q$Z_UE%JGN30#OVCWN-"#XCWEEZ;%;3OMO]E^
M9PI,\]#Y9OWK@K.JIJY N:Q<U9M_<PLT#VQ:I]:/A<ED6*<I%JD7XWS(-XU.
M=0.(OD+<RM?M&36W7T_)-T-]K)6<)EZ^?2Q"+"(.&T(E8L(234GP+"CI$)=4
MW:??W*W _/Z7=[= \\L*7(+GK^.HR\!H70[ @]X(O(Q\JZ0'A"+W8@O*N*AK
M.(T#8_ZA!SV;OM%HW&'8W[@P:6-2ZN(YS\2;*;TW&6FAP":=[[]-E.#(Z_5V
MA?BB1^F-C0SKFFVN'^2CBCL93Z))$CEPFW2G3#MB0WRB85Q%%4,"%=@92P,R
MCJW0'?%[<])]M_BXO3-VHMBJ4^6:M,NBF81Q3>/FNZCP/V:8=LD%$;1#6#(,
M*'#&=%#:66FT <YXRCQ>32^^FPC+Y;7Y@@KB;GV3G.)5 D3L'<9?3HJZ8^S"
M,EQ8=VNHL*1ZG+E_3@?E(BGG=83DN8+7+O- K2-Q_P ,BE%&E694:*FLL(9[
MC1Y(C!57VWTX0IYJMDJ+:!/-X#Q->0.5[IXM,;NVY9M#N6$TU6H/W/GB;&XR
MOIQ%3L\NS#-TTK5%6\ WGSZ^^QC)_RHNS>]G\<?<R58/?^-+[\;C252C%^ZN
MP[2)^EMR'LX?NV:P9JQ;.BDNJ7JCM/[#^9?2X(MK*\1J$LA>_/CN96I8E::S
MM,C+Z[1,ILMX^TN;B/W2A$BD[\WPJ[FJ;EF0%JG/R_D0S7+6F58%JK.M6OT>
MYWE]LVL1Z.?TK]/PYZ?Q\U:1'0?U\X_://4B\M\2[]W;VO@$7Y)>\FOM XF0
M]V90N>$X@D!WYUJJ+02)'/*"<8:4CI9EW'"5)-QH9K9@>CCB.1=.NF #DXZ8
MX("J@!3FSA+E>M6.F9T6_P7)S+@\3QZBR!+%8-0@5426S4V/]438@'+[Z\N\
M?B8;3/_^?9E_A3\@#ETE%>KMMRC$(S-\'6V7<;RM.AOYG\:C+S]%0]^?55$S
MKUY=7:^A&2:,K6YMW8RI1MPJY26E48/&*FYU@GGF&+)1";I/ <MU A"U=*-L
MZG3.$=-::JN9U-',]Z"54>%PMO>+']]?,W?4-K^8LG;X)A5V'+?;^GJ52JE]
MN2D45?VBIBZU-O, -VV>:_=HHO:R/WG6VWG^W9OC->U\XZ\-_-I:Y1TWWXTK
MMG"0UK;D;.5K$\ND%3^]33"WS>>=#:/7W71GP^CUS+$!1QVR8?1Z:FQ PCL;
M1M^/&KEA=&X8G1M&W[I"_<O=ZN;5^RS?KI7&F;$RF,3GN13>\CYM5.-I%3>D
M:B6"X3G(55^Z&><.UYDG<H?KNQ?QT!C:E "HS+"CT]&6^'2'(K#,X#N/,]TO
MGCQONNU2F3E\(OJ^ZGO\?31(YZ6?)F8"AVD9GW,C<V[D,9#S[J.[F<^SB<T:
M3=*7_C&8G,_=GDWL5E0VDLLS_M]_-M_:=30YIP8T!>">R<"4,8$9I#5G!".Q
M/D+@M_C06JVKG2WO)W#11'LUYPK)3='VL:;PK_$H56UN K]^J\4_G4,L>6+3
M '__=.]FQ'>>EIZPCIBPGD3AYPIF&1<S+O81%YVFBD8 # %Y1GTPW#IIC +"
ME":^H[[PS5#:?N,B82>2TN>"B_O2V!_FBCP>7?W]J#Y+32QBAKTH'[\M!]9N
M^HWTKGCT;5-[O@#/I3<(1W37H**J:PUB#&MDO9.2.T0/I_@N"5M7?L1FB"].
MM!)]!?Q>.,DSW&2XV17<6 0X4,7!*,.,#LH0B/IE!!-"A""K\=-[TR=W!#?\
M1(G>9K\?Q?G+VFY'?7 0[[+"T.>4Q] +;7,=M7NV,[1:A3P14[\_GI/G0O%=
M;H;&2A#"4".(8#H(99QQ)#!&*0Y&NP>FI6WH&=8G]'@4XC6<U2==.8-E!LL,
MEEL#2VR1<0@1R15ERB++N10H2$%DX)ZH!V:\;@B6Z(3KWA;"VPM8[DG3S^TM
MMH8_Q]7>(J_QTU_C?7D+#N,8V,W>^F[P#6;I6_%K(Y@<I/]3+Q7:W-8M!]ED
M?NH/F7J]*3R%.(2#QPSW0[_JMS'<%_?#,='L;@?"QS(EV4^N4L'$R=G(O_WG
M='"9#O-^@7;Y1R:5E$A0!$0Q\$SY0)Q&WE&DN)0=GH)CB.#%)_&E^NIY>.Z6
M7K^E*B/1@9!(61. 4N*( 481URS^Q:CU &!X5SW@8XB9Q2=(ZB>%1/OR1W3&
M6_0@>N'9A<SVTIY:%T/63\-T:[-^!OL!>!3U41RPL(P1ZY620BK$. +D(71$
MOQUEB*W&J]4H>[(]/! ,^A1/D'$KX]:!<$N ,. <$X8*9D*PCD-4:C4 PI;C
MCNS8HXS557*UHO!SPJU#J<%LG^EASR=2MV\[0BO>Z9@0M"_>DR=&UJUL3%*"
MP0:D,SRP5(I68@P8<6:15=)T=8+95B@8.1'J:-1<UK,\L@Q/&9[Z3=:MP)/5
M@00/GCM$&,).&T^4E];1A%!RM3?$]B)5\8GFO3TNVAX\W5!9T\_M]C-=7VEY
M@_+,Q]O/]%%OMN/:[)]2B<34T&K0-@\7Y<^K^W2$C!9K*K#95'+_=5#]_A'*
M=,%\2=W.KK/F@[;8:T>U"TPXI(F4S'')#!(^ -PK:W[Y0:^N7L'(G:<>IDV;
MP/0VLY#YB"HSF[CCML]7EU#?<6TFKWSK\1:U[.Y+\Y+<C4)J!8+^W$CJ^JZ0
M]UP*)#$R5@LK!6'<<0T4"T<4L\Q0S^^74?P<EF+UR.[/=8> NDM675XT-1N8
M]V)K5JFC,^2L2\%"V-Y.TUZ86F_%KT'=^VTKZRJ]%X%CYQ4EC"&OB+<"4\R,
M4,CPKBB.?HM80ZCM+2A?+5NT;=F2.BHM4EOEM&)(. V@#<09$$FT4UWZ2[]E
M:]MKP%9S@?Y\,A.F66?%C\8-PL 5OPXNBN^:WHRS5M!5<1:WIC)NCJ9>LK-J
M8/ZR?4&*^S-E!$M@.&[9@AN--8G_26+C3J7XT0G2C**1H-M;2-JQD-N3HV H
M]S:*DHRK(#PQ!)Q@5"H:_V.^0UWHN1SM8@FZ92FMP4*>7IN1\6;[(J(9M\1@
M'N6!UQ&#1"OJ%;*2.TUL1S?-GHO(Z[.MJ RKQR%;% J$L<84<<%!,*&EX<(J
MXP/G<;Z4=52>ZKE0;(?H'1KS3.5:*&O+]LV*ZG:'UK:D6S;*PG <#?%A:@8V
M2RY*9*\&U20];P23(K02CYK>4NG/2=WT*KY'M.)&136UU< /4J?66<.JO_^_
MJ?WO5Q@.ZS; =8_7)N>WB-;<-,1?IF4RRN+W7Y\/1B;:=^=F,(SS/RE^-D-S
M5<VVQ9_AV\"-#]J1_*>4CPP?F@Y?HR\_06J"W-4=C1OI'7$D8KV-"A,V3-'X
M'XIF,V#0>AOM 0$A'VT=:Z*-(PS$1QE07G@NM0?PO6H/R$^+AEB/Z 2X]GTW
M(-(>.P&NG<D&TZ<']+*L-C==X8+[CO[BQX5(1<Y,[:'AVR6,XK]?(V;\:=ZX
M],[-9EDHWS;WMUVP3'GG'7*<(L8#M:EU)XX$UCI(0]87L-U&K^+'O8*AE@>M
MK".:L&@":Y-Z33/GI0+B[&J[Y8>4B;GO*^#3+F_RS0O;Y(UY+^>Z>[4=3\Z+
M*S!QPX"53F#%C%/JAD9;G4*M["P&1]L??% E;79<UGMJ-7_6?_P?10CZ(76<
M3KMPO<.?U!?Q#\7LP[>C+U&^(77I/HD+6J5M.(UX68[]-.ZR/JH]PW%]*#$7
MJYM#?(J[<Y*]A;LG*4Y0B^/-.]+(L[O^"T:17X=--TE_,1@-JEI+^F,AOO.;
M9JK =130/&<M3:KN4OYAT31SKJ'L"%Y<)&4U-[R+ZCQ2_&54A2YFN%-_?%(T
MYGER$\_/%P8742#B:/%]?=T1O7ZCR[HM^NF-SLK;WAJZFV>NN8GU9F?K;ERY
MYB9^2X_;24283C7LT_3R<E@SE!E>MVY^-RY?F^K\W7#\]?96M@R,Y31BJ6*,
M$0S68R.\IS9>(^X>'L;URAI5)' $X!C'C'&OI!3>,A*"E=8&=<A6MI^76M .
MEAK;SNSK*BKVU^0M_(*^-28G2:CFXIRDV462%R'1/ XQK,4]&NWCY3V^*KX;
MM-O_?7^;:KAM?NP^J5MSD[BKD>KZU=V )0[:BW8M-38@H7P,"7,OVMR+-O>B
M7;-"_8OV[>;5W-HUMW;-K5T/R!.YM>L=60F;Y.'NJ_A7RY!-.O9X.FG4[%".
M9R;L2AF87*OIX<&F.XO)[5>1J/T2XR'.SX_FJO8-M<,7)">$$1="T$QSH9QC
MBLF J<>4[JE(ME;K>S@<9=&M# P9&(X4&*C#@(FGEK' (BQ8+Z0,'@DFA.=A
M?7#:EFJAL/5A]D<)#;L/K5_K.-K VZ2.-[1^[9MM0 []4']Z_>,SE!=G(Y_\
MZ9&?)K^:"=SJ1>=1]KQF$&<@F65:<PE((JHM$MC>HX'<>B\Z]EH(JY#V6C%/
M0 N#$0 P9KVEF/3'BUY-+RY,&3^OBF3_S")TEGWKUX[Q:3EWB9OZ-&SI3#.1
M9V^^<;U1I FZR[.[?M$V6.D^.\<QVHB(^#%$S.[Q[![/[O&C<SME]_AAV32[
MQS-/9/?XTW&/_Z,>,(70Q3<Q7U(VXH49C*[C2NM0KQ1W4H<0_B7[RGM3AJW/
MGJGN9(!E>WG.>F<-Y_TZ9[R%'=U.>;&>(H<M=Q@T(QX99#VW##1(Y0WN2AMO
M+.26!^IE!>Y[/RT3)[_XD9[R5=OP"3B?LA!F(=R1$%+J'#!OK(+DL I1**G0
M!%(E!V945R/!-4+(3O63%,(]J18]U!_\S/-91":#Y]).Y6#MZOI[['0#6-H.
M\5E2:_ND&K0#8AW%'I@-3K$(,9 27+E10#NJ_7><3R\EC5Z?0JW+G3Y=7XJN
M)^7W][O8?\["FX7W/L(;,!6I'KO'X)DP4B'N*-,"F51%B-]6XG@[PKN^[' 6
MWA4J'/Q\&F^4>HQ7SK">S DUWBB9&=,UNG[G,?7 V,%P,+GZV4RF9?SW]O-I
MCH3S0"!@SK2/AC9R2'I%%1'44+R%\VFK+,=!&4D99]AKI71 -KZD#IH$Q ]]
M/GTQHU%=0:).R+R( GV5TC2Q_*&ZF:$59](0=W#[R71A2DB?-4??!\OIPAOE
M2&)VUYGK^M7<@ 5Z?7#]*'(\Y BZ.11XKJ?1"YM7_7G7IWU[4A-O'/+$)\\.
M>,HO]CMT4J3__Z5W)STK8';H8Y\CZ%ZF.MU+:9D)8I&*5,4?G/^E!\Z<N*(D
M'_#TQX][@)AGW.W5[F+7WMJR=VJ]\W#H-ZFNV;?)YZ\P_ -^CD\X;T=(,\T#
M%8HXI24+2A@1*);84:$=Y^3VXZ8MM-)1HA\V[3'ZQ-5]?>([MATB0]#L/]L^
M-!T_Z*0XO\]?QRVL(8I8S5T4-\68Q,9HH%0+YVJ?&NVHL[4UK)'D:/QG67N[
M!^:PK+WU(3+@.2E1-9Z=E] NNX>891P,#5HZADGJ)^!<,$)8;S#&MS5K?5*(
M]J2UIQW#&,^J4U:=NJ'FW7A:ML\>"19<2YK<J\QHJ[ (#A$O$/:"R5WJ3HST
MQ$[K,YS<;Q>\):NC!T@D#J)0W9M$_5&XNJ;\8!]W+U6TC5[C:.%U\$=;D=/4
M8LXC: JP3!BF@J .$/<4"XU11VC']IJ$KO;HZ8D>=U_I[#4P'QY=ZX[/D5'F
M :/@9V?HES.6S$I@5@)74:KMI'<"(2HY5BPPK+"-^"214CA()X/<*3J=2"G[
M 5!]1IEN7#P2?UKBR&)P<3E-T%0WCH%J<H"&]+?0[/!>MW5YJCWUR]U+G7O2
M[KN_MS;=M]]<_.K91?JK[<*C$G&M!/<)6Y%3J?$:QXQCKP*07;KP".H)LCY0
M$(\+B5DO3.Q&"5R)G3P RJYV63\\E#ZR ?S1AZ$L4R6284Z1([&\;X'?%LP*
MD(1HL)X;QCP*47FEC' JA2.,=N5.;%&%Y;(G]?=ZU=3^MIYX]\LUZ(I#OCG2
M?;OKW;S/19PL:P*>_Y :#GT9C%Y.QI>SB-[9A3D-T[5%V.Z;3Q_??31?X%4)
MYO>S^&,N)_7P-[[T;CR.NNZU)!TFU'2UF]'M@S5CW1+IO-1=;Y3D83C_4AI\
M<6V%6+],Z_ZL/[Y[F<X4E_H5S8BW_%>+3)?Q]I<V$?NE"9%(WYOA5W-5W;(@
M+5*?E_,AFN5L4 ^U8UU3//8<&F?7T _%G/ZUCG(SE+M#9YE_U.:I%Y'_EGCO
MWET>_[^I*>-K#J_>#49FY 9F^/ZZ<%]7:HD@FAA*G$L=RC5&6O*H5'(40&E.
MT?JVL>M32SSF)B#D1:","6IL,"3UM4?:>LI$O[H]BM-B0</4?G0Z;+I\C1==
MOHKOIB,S]1$3_5]NRQ%IX.ZNA(;U1-F DOMK";E^)AM,?UT2U2=W#GXZA _A
M;C:_+8U*&H6<!$8-:*9ET-0(C9CE+!!,==<9Y4-Y70@+ $K8^(*,*JF]8]P
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
M6%N]>4L!"9!H8(5IB2$T+@2F)UVX1O0[+.4OH@<0GLX<P=U1*?*[8(CX:*'
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
M7^3%CBA(-D.4AA!<-=J6S LFIR@<2-(+^?:G:CT=.$<_LS?W^V)&"Q*]I-B
M"R_ZCH?-V1(DXJE<7E-\;:>E3R,*(XPQ,"]3*WW$B^GGV0B5N*(M>\2L3B86
MRLF!.)G:J'[,XO&B1& ^605[&U,"D+(7(K%AU7I=1[2B(P7 Z>)8Z$&>I@6U
M-^%X;I)$ !&\_/R!8WIRXX5NK\W03(ZUK]2&OC='[\M2M^%Q#I,:6)<C5C>V
MH[.@X34H7BO*73?NC(O4!IVE./H6O3ZX,=P/M%[.T2 ZV\TH-S\6LAFMKZ]W
M1IA6,Y% GKNRBF^O/IB,L<HA7.6&]'QZW-QFW(%U],-Y?:/9N9'44@D7/,\5
ME4&([S<0\CC+-C!X36C'FJ0;0!%?M7TXD9AV'ZW]A;J>^Z(&HA(V='TZ0T4%
M#SXC"C%I Z]1+I'!90HZK#+":%A$,M05F\&#!EB:?2:?G,-40YX76-\XIK16
M^/;.\J6W^'MZNM7" [!"- 9]V8G7*2#P<+,]XR+W/$BRQ[XI)'JM1?KMK%-Y
M#&3Z1-$(*IHL496E^]U.ZEK&&5K_I^#;EKQOV'WZ^P[RWX!GG?-T?R4W-\'T
ME7/_U(O]F_-PCB<*\?L =I)B#_W41,F2#/LIC80_J%0OT;(#5=JU=0X=D.;S
MO/;\$VUDIE$G'[O^75?W?3$#&% 01/#ADN[@H_-_GO+FIT:T*<0OVSMHV_EG
MDL_'09W):O??I1Y-CHAJT]GIE;WE;64]_0K7,\#M@*L#-SF]X\9L2;U=:C;1
M77"!V!M-C1HPRO/5.16J4D4U2MK;VCM*8H+4YJ3S:KA>_*,X\#=^XC3E.WZ\
M/6!@RZ9O,YE/DW>FMF/)81[:P0?I;*4P"@ZTA5:>C$FRF3,P,68#X^'(1]U^
M#;WF'< WJ@4]9?J_*&KGAMX60Y\1;@Z1/]H(OLW*B5SZ9,6%&@XXFJ0YP@P(
MF0$.^<<FLQF+>QSU)P;+S)$K\O)SF(!S=^X$P%AP]A.7_]Z7!QR"Y3L896H#
MO-W]P/PP1&N3<9L07)ZH8E#6H#2C=&8U\VY[VAH^*;-WQV:ASU[$QJ H@J3N
M$6^5YF<]4,#Y6=Y2PR@;J2HSU,-;?P9V]ZUSS!>)?0 O_Q[YK?C=P;+5-SDK
M)\Q)(<&$W/$83/;N[;U<S?0+NFQ;D5O6>0VI_:;VTGF/_\,^5![.]<0W6N07
MN-:$T/)M=K%Z&WWE.[QW].&QD,A'=JR[J$[RPJUOZ6]\-,E!K5NK G:L98*A
M^>J1J0.-QN!*]2WR8<28@2KXRXM$1#))5EAPP4*%((\1U#]+Y6U3$ZM9M4V.
M6E0U^$@!B^(R9Q!M!KCO)MHC3]<*J"PXA!;$A'<D[)"%FJ79UHG6KL-@):B$
M("])-NU)9+K, RPV]1ZGR2&[-\74<DJ;H4AR;9[,1(TD )]ZR/I<I[=5M0?9
ML.3S+96B83/+9*C[T"OB@;:DJL?M([:[T>5GS5Y T*@V$^$V1\$)HNELX661
MCU\;4>B"Z5T4M721&DQG;0J@0JR.EE.<R5\O7'>\K@A_[IQ.UA!4K!VWA!IP
MU;)F.<88_D_>9P(/?-I\YR+W-HE\]]<$:&?P.=,[G+5JV0LTN9&_IM?=SR\P
M$>=0I8J\N64R=TH.<XT<>S<-?VNZ\4:EBG 4QD88=I%B5NBN+*X:7);S;F/A
M6.R+C3)[],I ]".EX:>_%F6[6Z_,Y4O,AG,;W^SK32)XPR]_5=5%^*T.U<DL
M$VKG#:[G84' ?^[+)D.O TC\QB/N,0@XY1#,J.QHZQ9]</0AV=K]SE7"#8=E
MYUK!V46^VK9@'V+Q>_4NQ;%*<O<)]>W),52&_JICZEC]R[4NM7XYL7-=4%4
ML+2F0/Y-N?ZEB@Y)Z%O\&;<\ XI*-:3X<UO\W5X1/6.@H$Y-P=.),C&"CJ*I
M:D'%&<LN..A\I/6Q-<Y/,N*D^MS2*0W=M.R3']&P)IFJ 6=?Q)Q=3Z'?2BJ
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
MQAHVU;(' *EQ2:-6I3\,[]W;[EV[WG=\=W;1V-0;O'%=60&G+7DR$T;@\MI
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
MHA&6"2.^4"@S+K1^V<<21UD>8Z\\U\S9!EF39 *MX&*F<$%?GKDR$U65@*_
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
MSTS"83=S/J]+.P=E!WLL9+LB'/Z,A+".N^RU;AK1A-<^-8O0O<8-I^?15BA
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
MF(1B9R>S:_WO;:I&_B,3T/@K$R"U^+_. OS*!/C_G@GH^CT3$!_0/JT#^/2
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
MZ,E:_$-,613$&CD=%P"T?BVO(I'3_!.?M-?R6UC>HH$>AX!5J287J*J+%A]
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
M$TODTZ>>%=2.I[JXL&X XQ/?F&QXE\@A0B8\][*="?87,L2_Y)UJ$ZY TC>
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
M8_AA-_6_V3X:^'/\5/)MP6/16H5-3]\+ -EM<>2Z-X]$)5:=WIED9/1D("M
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
ME3]6;?,S-7XK.M*P62S'@F>UI=@F=V*R-5X3-K [Q5\=2)?7\M#Y]6[9D>>
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
M&)KZH-Q(>$R2'LE2(U%[W*."VC;W60'))]WC8:@][H=87TE;D:0[VL(?.[@
MZ$I,,4I,G%FW^R"IRG0U<P1S4DB W2ZU(G- -TW0.[N15,TU$-Y4HGQ-%O4"
MRK/A'3K#?/CM_:[_/LL )SX?/?OB\4(*@J-75*'%OI4!!3:$T-A%,>XC<*L^
MM7G/2#1(TO=-KDF.CUQEY1\ XFT>N0Z%P=PB_^U\AC^!/FJAAK^?*/CMU08P
M_J)UDSB;O([17@H1%YZ!=:"D'AQLD/ZZ#',_E%.W\:/%/0?*L9(GB\D*@+)_
M1U=;_8=K?=-P1O:#=JZ$$S4\TCQK>N6Z!^M1K^N&4RN2:8I!/M.>V]#@CTE[
MA9./T[D&6S8DZ4M$"'1E3M*B_^V@"L[QVA@;]")G6'%?W7* V-A*5G]R6\^K
MUS((LN+^_<.H"+<M<"=>=?U4^F7JSX7.UATE3ZOWX;G_ Q_V_S_8 V3P;L.<
M_%@J:,9>M_3ZZ55UXH&(+:U0"4FVE679>?_:8&OJ3^%G:=Z[ .A,* "FJE5S
MD?F.-P:_%@"_B]^U1IO6&TKP&VZU,.'7!%1? *9Z_0XC@R\ %  O=M(?5EXY
M>[0,R\ EC7]?5?W_"' -(_D7:EAZ3,O#-TGX%P/#M;(*0TT^L^%^18AR\38W
M&>5N':J\])Y"@&V)KTHX>VMUI7R5\//6PIG.F_*HSK?A;W./> +MOOJ&U%#1
MQ_A)L"U#E#T#Z6YL:L_SW-!(G$EJEY(B!3PQZTZ^"6(T?_9C587&SOM]ZX$,
M#:"=*3@U94]G%!T;;BOP>['=24"&^*WXDP!4U0D!R7I8:\P),<DZ!+"M2N+N
M^)S_KF.6+VC M(I+W>N*1J!< .MU<IVT@CZ VJ5_Q8?X3J<FLJC"W,G3S=)F
M,20 =0&HOP!L$T8L@?#?2/0D,XRGD!AL$N*:B4>- 7$W#R1,;N\6'/]'X4M8
MW-CEG_$A5XL+[$=%[B(8#Z/QX@\[\<2F<(+2CP<J+2>VYI,5-B\ !&$337L(
M^Y[:&;1X)([=O^/I4RL-^M?%<JUD:0+8<!O?2*<\<\A^["\*'=P$A>Z[,<;)
MSU<-E63#'!NL%&W%'[NV0@"5M<[_=CXA!J:''\^?D/E46L_GN;T^5,R8/3L^
M!M8;;E^+/^LQ%!C).M4N\JF5I-^;DE)B3\:FK&UFG[5Z<<+_]R?#/\"U!2'_
MFJCIRO,TDRV1S(UIA&7%!2#,[1C8GL16_FHK[?H%@ [@N1]PLCL8WV>M4'@J
MX)3^W6>(HO!?8Q4\JGMFR3_SZ[<G:!N5JR>D01Z;ZSPU+*\/5GI$K<.*T+O\
M"SXD&#:*SVERLHNSJ__3B6C97P!R#&'/_O=IT?\4'@OU$T=7RKI1Q!B?.:W6
M'HMQK=L2UQN).F8,)=TMC+^)1TV":!_;U5(?3!#1#K)VOQ7\LU/';[A]*<^@
MG?E#0N?E<^/CGG=7*Y+7U.=-W,!#114W,YTD*;,S1DG NO\U%:3S-=F3)W0"
M3-4\^%*_+5HGU/1=UJ08TUPZ_A#W=4R2IE=3ND"D>Q;<B745./[384=7GNTB
M\,J/$!,2XPB/+:'V&-;NZEL;LS4^!]FX V\NI;S T ?^;Z<27OTF2P;C4RN2
M."]%>M[T[>6?R:Y*H:QO\]N_PG4# Y:_H;ETD+'/;@CGW;[Z]M9/XV+G8<.Q
MR!@5LVA. 2006(0_:[2BJ?"SYS5'&@U9O=<KBL=,4HHRW 8*H98C@7  UU]U
M77P@7(8OMS ""O")K6BTW&MORO'U*'8#CS\C3Q%.P6?#7-?2 KO$P2&1!CW9
MXB]D.QY ) 54>T[['$\TON5^P^(DZJ-[0/?X7(QL"40Q)7 !D _V'*A<JL5Z
MG#_1D[A+;R\Y*.\ ^U,K8^5(A0M<;?4YPZM0 )<GOLZP?!3/JBJ]DZ[GS\;%
MP?[KN7GO("]/052?&TX&!42@U<>C] 45YLS[OBO(KN_EP";P3SJO-F#O@ M
MKF%*\/OX9#2GW^G\LXO6?/%^#S:*!V[I>_@4=T/M:E9L3<FFDSZR)I]>4A H
M\YK-_1L:H"ISYTYWY^\35#RV&8+N[;SRVVP:3L]?9[]SP_0'8"(M#:)M\0W]
MK!S<^;<3 $[4-,/19?3Y$B(AA6%+N^7\S(OFS^_<>7V8=_<"X/U6;.;[Q'+,
MDL$K1^];%P"-6H45[+I12C+E2EH$WRU<%(#17J0;7RL)&9%C>$U5MZ.LS[>=
MT@7@PJ>EU@JG$L[!P8/]Q>!IF*I=ZE&\LB*[MY>/4MB5'G_++XW;'5V\>Y+*
MYX$V'*\IP6JK4?_):#]]H5O$(7S7_TD^"V6Z+/B=K#]GQ.K='*X+P+E$2UT^
M_^T\UH)P+/YDX1EW"01)= &ZV!< 7?:J@?Z8.P>8ED*4()A?,1_I M@)<?I#
MZOJ+]VA2K[]  T"8X4T@MHX* U[9JD(YWW(*8L+CPTPQ2KZ*?V%O?N_4V^X\
M;T$#A)K341SE=@$5>2@U.4::W/$8;];7*$F:2$TW!/S!$^Q7_;ZTCK#?P]H$
M[V\]_PSE9>F$O7\[>LP=^DTZ8=ZP@N]];\"WZ;R2,KG+M_R]QP6'K]YN0\^H
M4:03-SNC&?N_,0\YX(D'$ZQJ=A\1_T9C\K#OFD03:&+:2TU7JLY5")&$].R0
M:,!GP2S4Q:,VZWS3O_*>,I6N0#9##JVO:4I\YRP":F"NMIB!Z=B2W\9=UN%9
MA1>FRS(W#'4%$7" "$2YKO\O>?+/'KW]?2_C9L[&"Q'8IN]A'L\$D(2-!O-
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
MOS$V53C>BK/J(ER4[-/OZ X^GD4UDB\_B)V;LY :HU[?#ETMR6W^J<%N94J
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
M794.'7QX5D5B)AZB'7]T9K> ICBZ>S7PW &+_5%G%; ,7MPH[-,U GV9&>C
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
M_MO0AO0@,^_>PFGAY*D1/R(ZH8FW,5^0:IN%LQELF"_B4INH&13DC<6_O>$
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
M!Y14NZH3L+D=*'A8^"!#=RZ]+GK[[=N5ON7!XKIV=$E4\$6U]Z?HLSOO&JZ
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
MY1.3IHEB0F3C?2+O)IRBEZCE 'Y'=KOV&T2,.AE,X3+1APVVSQ;WJ1C3]Y^
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
M ,LPT7T#U9[OT+@\%@02_JN3-D)(:M2VH3GDK67, ,WL7D/8=I)+.M9]6UG
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
MBTD?G8*T!KC.TG %C $JL6-MH8BWM0Z8MPBF$'QD$D^PC<D+FL%N!""UEV9
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
M.IZ7#?].)$MHBM8#"CW+ #T[HUA_&RI*OL)4R;2_F5.J3/X&3^$''<Y-#SK
M(8!0&@B#D"C/FOD2M9Y0S!-N\!QS#O>--_YVW8 >W 8J7^R(_I":7";](11(
M^T!P\!V"J>VN46F7B-8-T66Z,4WA?<@Q2A4^HGND)H])]XC$LE!T0U#]X61X
M3>LEA;P$OA'H2<:WSVPXGV,;AF65,4$Z6,JHK5J=UNF0IY1F<$1O24TOD]X2
MB69)9N%0..TD'/EQV9A\K<<4\YC/-#AU_Z?N"H*IP\&>Q$!^1&](S3:3WA 7
M)#[%:+N*,N]*)6 ^E)D':NF7I<Z+OBS5HECR(Q7IE>)!$O/J,/UQ"B.N)3YT
MT:);Y>&P!,!&JCR,JS\==E[ZZ; 6:</;80E8B]^D+_1ZV'G>ZV$M,L60@4C-
M608\?KH9HYVE"Z"56E'O\["@6NNL!:W:FV^)UE:J1![0QWOU[;SVJV__#YKU
M[[V-N$#K-0PT.LE/H)3Y"OAI*HFLX'DKBZ(5%FMDX\B%YDC,3AA?]#S172"T
M[IV=GO6[I_WNNW['$O82K] ]LS4SOXQ0A38S[IYDENQA!4J8TMWQ.MD(IV/U
MS/)HU@+;)POVTG,PT5R_O3?(DBX /[O^SVIUZ]/J?*O9%:P]7B3\0\M040*/
MJY9EEQ,A7B;ZJX80>&,ORP@0T>M?-2JFB-BB3,V[ O[/&G4+8I>I.22''^5J
M?7U]/=&LH!VI]>"YWX%3>(("OFN55?U^,9?S1*DN\.GVS[K]W^K+(4O+(*O4
MGS2G7/-2Y@_I]:]Z +SK$2HD;, 64UP7@;^Z83E0_QVH7Z+3VV?YOL?QO+
MFAJJ?=\]_=CMGY:S>L#D@_[+*8AWK !4_*%PE?%!0ZIQ3!QKO-',J@PX:=='
MW-:^/(>9%=Y ,!?!=NM(_5V\.<2Y#'=,JK2.2'/!905[A:5\6ZF_JI@ISJTR
M<FE)C@.;(WD/. 'S4V"4UW>82NJ_Q;X@V/6/ X,DEYWA-X_(;>( PMEI__T#
M7LTP]Z?44N'^'P,=U'3943+X=KAP&+Q<<"?Q"N9X2@5O)B21'BAPRYFWONR
MY.1"S7!7'8L2UX7K5ZHR[BERI*CAH9CP;Y]6S8X)<Y[]JCQ_IGQ8LULEP(BS
MU7"U=MD6XPF6(#NC_GW\F&Y&2E\[7X@54R,#XMLCZ#9'KC HY^<%S^5<=NQ
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
M>DV 677N)<EF09-7+PE2D2M;.T:H &VG:1<P*6BY.J1S9VLO!_&R:F5&=7K
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
ME]J*M/RD+%:8)/_:QP)<'1$!<W5C"#P!G5!PJ*L+0W1AW-7/H_(JSTN0_+N
M$MDW@).1.Y<S,YDWJ,*X:I]'X4U9Y$64L51/@- YT!+)=Z G(WXQCV8ZT,$7
MQ@7[K3O2@%&"1HOA;803BP_T>=6ZLU 9&7A."FN1J@@+ )!#99A(0 #G34OX
MPE# <SK8@$1N'*" $@D[Z @ QI.!D'MSO^?TKP%YXHD? BH2=?A3O@9W!D+G
M3?:^7P;H7&ZW);,G<0D$[S+ !B)(^:IYT;P.L,$1S(W_QR0'8)+#]J[^8Y+#
M,<GAF.1P3'((4;#')(=CDL,QR6$"20X[I:5,U%>:T*\[P@[9?><&<G;WN!\J
M5E&VI(O<K J/NS<N^X^A!D'F--,^KK*8K430.=K^>94-#Z%G.$TO,7F*2'^W
MQK#UKLI'LW60J\%Q8P"I%=+$'T:H<KQ47F]Y*;Y4/K!=O>.VK>5M6\]I&A5A
M6Y+.2Y)DRUL:,N'MP5'U[69312(7SW35G>1HWCQ$<HHRRGMQ\;RA@<)PF\@J
MUK9+L($U2(5S,V9 YV.CWS!R3@3L;&V/RP],=P$(Y&HJ13 EC82/A+'R2;L(
M(]=%9C8SE!<DB8MZP7G"(K/*:FB4MD!)40Y/2&RA [A*&+HI::3I*(USCK .
MPTC(D=J9/775QP?QF:]/88W'::1'U5)9SVE",M/[@IZJ+SI>=- &X"I;;::D
M7E)^QSF]%M8P$HND^JZI)X)&$!\U44V1<SS2VPQUQ7..TLG\?\J\J$YSL>!U
MW]W=Q1>+!8J+2SJT%3.G$8T]V<XX7>M4>_/#&XT<8=^]S&P9>Y!JZG8, ?>.
MV.X_D!2MK4$R/NA,3VEG;QZQ#4=JL?0'/OU]GSD"1>-!C5 $J:@61@/@78TZ
M"22/;&]*N="6*A8>^BS,T)]EDB<%ND/D,8G1=DZ9H1@OM^/%NU[V4-T-W+&K
M[H)4^P./LH[#=D50)]?/\Z5O@L?!J3- R3+;7I<5O]S7)^U,6;)Y]:^T8GD_
M6(('W]UVTKY\SD$G01K,0484> F> S(:X_!\BD4)VO/3TVGNM^9.V>ZW(#5(
M1C_@KMANZT9>W@]ICCGFT!SS25ZDM\UB8 X'9VQNEN69RV#[4N?#AIYO#N 0
MF'/.QQ1&SD^/-FZ&LA2F'@H!3  )Z%(Y8AAW7$'S$#.Y"Q!.7-Z#[&V_$I?F
MI1N)'):>KB7T<++46PE-W-QTX?=A&ICG/'2YN6(U*VVQ<I'U$L#$F>=^-FBX
MJV6N4$&PNZT1*6RHPM9A$21X!<(PK'F&"DHNFE]$)$NR9<Z5OARH'A,14*CR
M!C$%$K0(4Q@9GIU:8ZYX)1"\ZNS0!:MF!R15+IHP<AQ/XKA<ERDKF1%M[/"]
MN&Z[_8-;T':A*H4IZS!/#T<^3%X,I.B,O2AWF>(GM]5>YRB/25*E=-XL3LN<
MNDW']65WY7H=D9>;Q5VRS))%$D=943^@QM(5Z%#$"7)+ GNO:?],D].NFJ>%
M7+-TF3RC^>!I:T<L#1X/=MH?50Y2HGGK+EZGW='@(2&5$=Y%CRQZN$VCS&F/
MIY@0_,2Z<FMX56I0%E/.J!=D7+GM;Y>7X5A@3937OV3.W2#.T*8D\2K*T2W!
M2Q*MG7;Y";$^-JLD/J$1T%6VP&3=R<1PTNLU*VYT*[A_EA$I$$E?9B@OTVZA
M]=<L*NEJ;5^*X6@N>LC1GR7;^V%N.H2)[R 3((R4:K?;M8_838\'Z*T[21Z$
MO<%4>8!>AQ/F 3KES"X'&>#=''. WOHSS0&Z%#K_ _2]G0(.T!%H(C@ '=S%
MT#G;3$IS?W=<G*.'XBK+"U+*+KI00-6K9R&4O[V3+DFYX,$*!127O=S[4Q4J
MH6 H8^U=#P%2MN\A1!;& 4>7O,LH1B=K%G-(93T$XPJ[#385:0M9,Q)W&UL8
M9QF,V)O%&4'4@5/J6##R\CEZ3M;E>K?F/8LV],O@.A*3IKO'C'2:AJLK(X8
MJ#]Z/81Q>M)EAY>N)H'@>@X?B6O:KD*5P@;V$KU782>4R];E@Y/ )@;@RCV
M5#69C <JH$A2X^ :2C^D]+0N95^B->)F+*G N+)M@_G+4Y/(;R!=(6-B&3?Y
M26)$KT+0@^0M[Z+F):B9R5J:F*8G;0L):05;$C,A?OA8BY#]\L=M]!*O4/SM
MEF"Z7F:TU=O>USC*N.?:&BV:UX0@+8*(U3B&BDTX%DMZWT/UPA $\TA#%PA^
MAAYQRL[ NB'B78*RZ!I5;QY\(KC<7*>Q($W)L/TN@TF[?< J,G8TH ICT$\8
MR\6O69F747I#KK(%V1[+L"!6M.,%!:^'3PWN,7/[N2 1%4*21>3E))O7M%9T
M"3;$=)HT6=V@)IXL""Q-;,1[VWA4754YWZ NW+C=+R4;GIO%YR@K%_2'DB R
M***3P33%='R8"0@8PIVN1 4X'85,=-U'B8B6:(;F935K7V6_8_)M@>F'?K0$
M FX")07P!*2KQ:^NF%7(1^YBZ<C[+DJC;>*76MQ]6)FT][!3%;: 6RNRWN,>
MF1NL(VJ6K%EGG9-+!!.YJ(U,],,V4U4!!?=65&'81QA7E=(%7(S0/&=7%;$+
MN:(L1M4S#TU=4E]]H/"[IWF5\%-0&TVNM55&C7\"=X5^3S?JZ6C/Z/OU("JD
M>=N>Z06>@IGH$QTGIKP7ZTV*7Q#U? 7+OL+9=N'?4P@@=#T22N@)J( >Q[JR
M5V(/XSI. 2N\@U,(J'PSQ<=1JHY&:'"HJPYRU.WK-B=RW"I@B'/N"H"4JTT
M)[$@S1!KD.)L5H9=HCPAG=8*2.2>Y(%@Y2KA__ 6(FFQ0BB/<B7H)1H1UL&N
M-9T8'(.&H16\<UX;:B$]]1VC&.[.@,_P8S+_\+/@@A'.M]WE(IUO846-O M&
MQ*P A-2^9*2#R/O3EK"*G[MMV#%#&TS8[TWNN_]:I),TQ4]LA7Z)R3DN'XI%
MF=90>3A4M@J,O)<-W!),8Y[BA97B%"?9G!7+;V05!/ &^VTF90.OFVQ\Z@0'
MJF!X%??>CU(U!(GU^6Z[075/]4:;JH<PXADAH5]S1/W-=;(8'-W!6ZC4IMUB
MVHHCY-VBZK3[""-[Y1QM"(H3WDW]O$^[7,;VITG(7<*-OH"[R,(H,;B+5VA>
MINAF(>2!>TVN9K-FSQW<[*#;:GHZ8<B[OK[ .YI@A8.0I=.7>]HY9^M-HX5J
M_FFW\'M_KZXNR>8BX3AT;@ %]BB=D=H]!1[.,$*YFS0:+53JU&[A;Q-/1R]D
M:B3D'^3!]IU)-:C=R2O6H,'N5T@ZQ-ORLZ]$T@U >VH4SAW%]QBG^3G;Q\GF
MGW$ZYU]KJH!J[KX40846/7.<!H8R"5*(?0?5_9@BQ&'XDL]1O&*)6"]M#KAJ
M ("L1TD*.0UU@#-KH!)2Y&X."BY+DE7OUM(N;Q:+)$9R88/AZU$ P$]#\+J,
M&X@?T(6;=&AVWVI9('*'%\535/4OUP)X@_VE]<H&T] #;=8-% '2AY.;E'-2
MM&8(^J_^[$!_^F,694O>XG;P>U,6N/]]<@M5$4^FR]$6/B>1'ER _ K0X9>V
M$ ]BJ=(%XE >6$9U6TR[ICLY. VX[$EBL/KP(0O>0DLE#.FR220.9XL@D$ ^
M4_K6Y9H?Y_*^-9%M]YNGJ8QG"%A.^$ D6Z@J&NTV\V<E]1U'@L4'Y]MNN?$<
ML% DA,N$TFTVM)0@$U6V5U-ZS[&X1GF.4$5,Z^[(:T&"!1"ZN<9,!>WQN8LJ
MPX7&(ZTK9K?D"G(KX V:!RX #3R9'U2*V(#MMITJ^JF>N0#@=U.B?I7%9$O9
M]L^KK+ZQ-5M6%,^2Y:JX67S-MQ<?]]3!L'4]2-JMPU>4<0.BJ37:G86QA:PB
MN[&!_DV2VNV :M9J-WT%$PV"9=5J=1-&JL>6IY[^(S;BS;_N$5ESYW%HH\YT
MKFX4OBX9L:^I2- ^PGC^BT]MAIZB%*P^ VBIWK2@IZHP(H:M:$H+>1@E_WQ.
M>&ED $CI"L%'LIBV,D#8,U($ >)V(?\Q&6Q"R6 0=1F=_R7IY)CR=4SY.DBN
MSJO6H&/*U_>7\G5:)BF[:Y2[R\[_6(],_^,TSO&E+!F<V??QN=G(:VZ'O<K^
M*UK/47:&LXS=,AR7@G0=*'R3KJ.&GX9X=1DW2==1=^'YC'^"21K  !*2EZ$(
M$X^I&,=4C&,JQC$5XYB*<4S%^(Y2,3YA/']*TI3&-?WG;L.YF&.&'E%6HAF*
M\7+;^7F21\LE0<NJ]/AF44-X3RD1T#782VU*RX'@3;FY$MQC 3V?-M&#H#!H
M.=_>DTG XL.Z''=>"U'T4A7BJ["'L3U5D\4NWJ3+HXJTWY-B=5;F!5XC<O$<
MIR5;-3,'1/\_OX^>^]&7.8;]LS3Z&":@8.-'1E?IC'H,8WM+P![W04H J-Q/
M>7FB<KQK4CY::>Z7NN=Z/_D[UP-%N;<$LTOI;\@=(H])+#B\$X+L-\TY('X?
ML(0('H.X RA&^T2.@\[?*J:FAZ5BUA3EHJ,2.5Q7TCPXKP=K8AEB.'.]G=$!
MSI: >;@F+&7>,9AG.0L.O\P$K3KCTA.UN\M,+^F2M>[KGBXF,YSBY0O_N$,-
MV1QTR"#]'7$H+!+KL,B1YA!U=9 A0^GF'.L6YR<E#1JK"8,2=1IEWT2'CR#8
MQD+EL"$+5H=-L&@52!U=/ASE289I;Y^BM4BH4IBF:)P/$[(0(6R!A2= YN8.
M@&M<%(CPW2KW6Y/5V/T6LG!D;("%TD/BZ-$R0GDGZ)GO#[D?=R%*]V/(\I R
M G=Q/2PC$X@%$KFOM[.;_JLG>?FW(JDAFYN19) A"P[.(EB*4I1.WO4"K2'N
MBJBH]B(^(?:(]V:5Q%'*V0Y0PNU>[!+"36)C ,JGSNZ !*>_T^?Z:OTV2=S%
MHQ*N$;P8SM\6@5J:&,YAYTH4$>)*WF*$_C8+1LM[L)CV+W'>9L$XD4MW#,R$
M;CO))$?Q#TO\^+XZ4B8O6\G7_Z@$7XF\_N&/KW<]^>Y_:)ZVN?,V%ZLM#W,(
M[HA$A*%ZFN;.7;DY#9&SRMU'*3=(DD#LZGDY$"$+0LT26#)<5!/)+QFF;C1'
MA:=1REZ$"3K-9%>T>HO( I-U]<CL0YIL8Q?_-YCL*):1>?&\07&!YO<)VS:@
M8T!_S1=1S"WRZQZS6T3</7VW@MA['@.7>$'&BTZ3[E@IFOA*GK.O(=AHE#HI
M>=:(:N4W*(@)*K-&SKF)D9O8[^M42JUQ<JZ5*FK"R+,9S?KV2>X/MJ>G'EI;
MD],.[?>G__JC[=E$0 2'<<_-:'YX>6UVD=JR(!^Y<H%:C2K_+C";F>[#3:-9
MORLB4IQ'!;?"T@ER6^;60^[UT,&RP=@P0=G86S7%?1FJ99(G\G2QZ=;+>;VI
M/5W?<=R!.>[ !!CL'W=@CCLPP2GE<0?FN -SW($Y[L!,T(J..S#''9AI[, $
MN3X\PW046-X Z_=F<4;0/"EF2?[-^Q%\AS)&D6A!IP;</8XG!O3H 2DA+%?W
M*R6.T#'/V',5HI46!+;Q5W)83],X0%A8C\^VWQ!CK_R '&L8JYT!"]1;L1^B
M)>J'BA!0D>IW0(/6!0TNX:H@1QK& F- (R_4D0.)I.\C%#&4MBI4T)1S,!<D
MC%>'TY=3E,4K.LE_XQR/0,%%*C( ]WJ$H5 +GN+(^96JT.[00(TTT$EC1R4W
MN1X*+M2-/KB_T@JPV+DJ(F5;JB*];OC*TD?_*I5E4*L0C+KPZC)LZHNT2L.&
MQH1S:WF]<,QG*$;)(W./W'(#%5CSC*$0+)1(5.09,)A'N2YTT5>/%@K1AN$U
M[J)T=YK\!?%O09?"-.5:?)@)"!["G:[4!3C#,'J."Q,\L0. %,>9@3RI8Q1B
M E[1T8HN!P_GA*8"PN=. )#"U6@0#^1 I,M=H$(>Q)$@YR]3@WL QXHFJ&/%
M0!ZZ&:\,NL$A4!W""0F;VT@'Q/+O(8)!-VJA@@XE7. _BJ+'K'RRZ#R%HD3L
M\\;Z_\&DH2_GQ AB@-W=]4. P",")4^P0("'QLGQ/$B27Z(UNEET:.+Z>25<
M/082.'^SO41R&,Y:6[Q#C$RT$DS^;'6TA >3FW\9\V9Q0R%+IVY-,;N[K?,N
M3J@W80?[GVCG.7]!+H-I%N1\&$\SK-KR,(RMMLR$2*LE.!_9 6[L8/WM+P*]
M36/U%1Z*)KP[/81-0I:P =-@@<-PNS':+S&-W<@&;X, KKQE((VWY8*$+$\
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
M"N?'(1F,HQX23][!HAYA2R/8N1AV-'E5$I(A66ZVDXUY^E(R^=TL. [.EG<
M=#'67TB[>&56X&ST7=J(3:+=G.<9TWKQ3-=X28YN"37TDWR?2WJSN(P2\CDB
MWU#Q6Y26+.\,K]<XJ[@Z*5AQ]LWB$^U /&EXI&6L3=JAY?LV7@?R#,C*[7 7
MQAT8%8</ZD%X& Y"<UD#Y3_!<YXKL(FW;=9V\+X>$W4PSH[,S0ZE8=P+8CPL
MU7]^0WF19,LM2_V[0UR@'CLO<E&_'AMR,]H!S5I<8L.X(65\O,V^YB=EL<(D
M^1?B3D8N\%M;_PWP?]^&!1SW@*Q+3'$85\?88NPQ2E)V5G>)B=45(+ ;RP8W
M[.9H=W IA&M^0\+#N,MG_[:7DM-<Q*K\<4!+> =O!X[&>]"2+,OFY&AT'=B/
M/4K;]PQ-I*:,[;.R?&E.0@WO4Y,1U_D4R+.#MA0-2UGG/SLXLN\J_Z[39QC)
M=PU-W/Q7_L>>AOA/7^;*$BO(;TNYC: MJ+#2E35$-4BA\20L7OH/3%K2)""Y
MO-Q5B5W\62;%2^<$Z^./'_["3?L!P=:\*6 ]1=\"\\%ZO/'DML]$56 *P_"V
M7IQVPYE"N=]JUGO?7M\D*F/>V2S:ZS2,X@-SOO;L9'.IAW?9!70#P:@+?X$!
M7S\A6P'CQ[*M_QTZ0"MZH_[#\)83-85!P#%I8^ %7@>U!FG\=A!["*<R[6*]
M2?$+0E6^P\V&L<8/&55P3;@HA@MUHW:,/\7PD=':.S*@J0I9Q;1XK@B98,F4
MD[ 44FAE-20]EF<=R[..Y5G'\JQ749YU,*%LW[WC"X7WK1%*]UM@0I$0+A-*
MM]G04OS7S)WD>;FNHIW\:\X>X]V&/BRAMYHPSZ(T+M/JK\=BNF,QW;&8[EA,
M=^!B.M^^@U4Y5/4-+5=)^?R,BA6>XQ0O1<\Q'[#'L=Y'I\=79F*'DDU ^6,Z
M/(2QU5;Q85).L8UF\B\X>T1Y@>:_HV2YHG^>/"(2+5&5+\<*E79#PK/A@W8\
MMO3'H./78]$^)!50\9 !*Q,OS..YLHOG#8HIU_>(K+FU1DX[&FN_@(Z^;WO5
ME41 ]@D@?>+5?C(.?\-L'Z%ZRX7Z()?!LKQ'%\&RJ,?78ZH'E4W@P;*(AXD7
M&/)8G27YMTN"4/O%<)>F*^O/A>'R^SN:K8%< C=:/@<3+UB4>:?SY#&9HVQ^
MJ-F6UY_+N;;;W]%D#>02N,GR.0BDNM%T$7"\2R8<4W,PS@$M-X5WR?S]6!A\
M+ S6-ICON##XYV-A\,231X^%P<?"X&-A\+$P^%@8?"P,/A8&'PN#O\]J2-UM
MN9!K(8^%P6%XRXF:PK$PV.UP'@N#CX7!9O[T.R\,UE:W&<H+DK!SDHK$KW1
M\MG=5\&#]@#8W>/U4MA7JGHZ(W0(]5/0$V)-&?_ @AWF93GR7D2VL^=MH8I
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
M\PV[>=XJ_/9/Y8X9W!KC'I[EB7.S?YIJOAGW@.$3P;FU_!5U#Y;LC-O#T=)
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
M^W?*OV91.4\*-._P78\\^\\#)?4__C]02P,$%     @ 7'=X5(M(XRE7W0
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
M$7[.=O0SQOR_P*N+3A:'.$LTW:_0Q(9;^<.*@1YUK*U0ZZA\2$,6_UE/H6P
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
MC7:X%'E%\4L%TK&Q2P.4"6%+8'ETR)*VT@-.+5-'*!KCFE#CZH>>Y-EW[@$
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
M^2'#LNTUIGKJO"'2<\/-H2<'&P?,/(]@J,16.S;Q9FN/,4[TG%5W(8BV0Q,
MZLK\S@E4UR,5N5=K*%6.5UJ5=PAAL]1C$<,^IJ J45;_C'!^GN>D3C8:N\B4
M08.8H;+3:I%W-U=:4KL?7ST*#0;MIVQSVN)G$8R##[BN5'6J27W)VX$7FN(6
MS([DF6;89*[MPA@VXW:>=&;<.K@_?Z>X'S6PL@O\I?-<%J;9)DK"[.4XV?R:
M''+23G;.H'R4!59I<QI 93K_M4Y,\]<CSNY2;0:#NM40'F8F.,7Y.HO8R[)T
MC\[=(8\2NE'4H](4CH]T?/\-&*O5YG@*]#83+&TF([!#&X@\H@>9L$>(Y)3S
M9)OAOQ_HO!.37-$//Z?%P[O!ISRE. 'HHNGC2WFE\9=#LLF;"P!OGL(]O?M/
M>&:]@4;U^X$T)I(4X,/ZT ?N4\52J)6@$D1,LKPOTX_S[DT0D8[NLCX9 <I=
M+H)]S0-#:ZG"P)\%#!XQ$%8 ;&]Q95"\))560B_"HB]WXV=$M=\/2"4IPPU*
METT841(5^((T;'.>% 10T5V,C_,<%_E77$A&'&9*==H *DVE+,B-S>T 1AZ5
MM(4;"LXWI**+ME%(1%#42*.0B7M3VQDB)9W2CQQ70?H]NAIX])*PQ[LT*Z)_
M= \ _D\<9E\(7> $!AC1$UIIQ!W!%6YG(KR^!2,#@,YP0.#R+]YR'0(J&/>!
M70R.!0I[P-B@;=%KBA6W3^GD4-&Q,3I2,!NS!PKB==DXT3; ;IBH[=(H\:?7
M%B6Z>)H4)+CNG1HCB+EI(:)ICY\18KT^[ [LQ.-N^PW"@]H (#;(##@,#&*7
M#MY*&=V(L9%!833H/$1AYZF_H4*#+6"<T/<V/$B(;4$CA*HEB\#=WIS6:/?V
MD4YGO)CB1Z:)6E54ZJY0EPK'WZF@F Q;@ N^3I7]$OY7FIW$89Y_#7=8>.KJ
M2&U]EA1KNXL9(G\S5<T*UR-CA=2B-DXP3<14$=7UY$#3L3"#10E=WX,CA,@0
M,#S(V^!E:+B0W&QLHJ(/ A?6[B"&.)F)[KR_D1SOF]$0VZ/+?(T0 N.OL ?!
MI+T0W:4+]^8E/65#<^*?9\A$*^/GPDHK\\^&4;\+SX=UFF!Y1JRQ3.?$_H>W
M3 <A:]JL&-_-D^?%J,&),V-MF[R,&E\.!7TY9MAX\P5SL"E]_ "8<A=$M,YG
MBB30=HP,)S#S02G6FTNK+[Y^#6OS<%#"0H\1.,#Q1VL5&(2 K?,R$LE6'XGL
M]#7_CI'Q:_[,R/QK_D1VX37_M@66U_QKP[1R^5=O8P@$5-/6_+DNGKSF3S<_
M3EOS;UKT6F+%\;; F96 (;0T*FIPEF8-'3W?]G>83VZ+O4@RM![</N ,A_3S
MUQ14Q, ;'5FD")@27GI&Q\<80=N69<<LBX3 =CBDAF[9<(6HYII?,EPA1B9$
M32%JZSNM!-#QD5>^KC/^-4MS@X6$GK@^%U?B[D(*<S!35=[U-3(TM"8"]B<=
MSB]^NS*XNV%4'70)F([E3P+C7,>+E[P2Q(2O^+FX?<+Q(_XE38H' ]89&!M5
M'P^-S5H$\.Z7&V5+6F*O$! ZH*/N3][& !/PC4[F*@A,2>>\W?$97=Q"+V//
MYY=V1\/Q<V00:&2:^J@RU'070GA?,\4+B=N1P4%H3;>5X.ZEMTOH&U7T=\Y?
MBB98F%!U,S@F\$:  4#L>T&VIQF.[I/R^-;URVT6)GFXIN'IKV&47)!:Z#/>
M$IG;\)EGN[EFS783S:ELA_MRL7/>V+N2](;6@DJA.FY[_8**5@5]N"=*^0\H
M)GI+W_4X!DOIY$[FN XWTN.ZJ>]Y 6UOVLO<KT4L'[5@KE501P=1)?2!JOU
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
M+"?^&26H'BS(\=J6>]5^$=,Q;-*E1Z^X3W6EAZ93%RTQ+G">8\PN'\K5HS:
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
MT)5IBN0M2'-DV@KZG21%8-!D24F/Z=-D1U&7)P<^_")<.5P <*TOJ*!9+>B
M8:5IU^3J>3'E54=92JF(R?C-)JZ[-40:=HR>0Z6.CCY=RXLR9Q]&F]OP>7!O
MJNA1RX[.H^E\:(Q99@!O5X/YOGA0?5)='TA/W%Y\@XNH2U+]3SG ;"/%H933
M7A*7Z1KC3?Z%?.\34C!C=@#VY?9K6N#\&J]Q]"BXBLI0JT$S4&LRT$%^'$S4
MFOA5<P1N*6@%Z,;-A(B@K!%9FD=F.$DG=2+//I"!/C$-?,X'4HM3R$8^+2&4
M3367THC" O4!RS30];M"K'2"VB5D%Y[(;MM9O])]N2W/!DN3^UN<[4[QW6!C
MLIF6(,\HM2Q26.'';JUEXA)*8)VE@'[RD>2_'=J0S]!=FF7I$QF/+EZFF<%#
M0E9@W\FYJC @XZK6IQ]4O8@2G%]N3\B0*E*14R@GH",G9Y& /<NN*"=R B79
M4#>XQH]I_,C..F"?HIC>[^LCN\3]*^&3M"OD#.JIR#@CL.L'2UHR*]Z"A\HK
MDYC5=^%U'MPG+L-7X4$VN&*31-?V&"?N94I_^*5&A#9OP=Z,UZGJ<Y7U]^,A
M7NQ>:P=V.1F)@W'/U>$NCM;H<KO%&0GO;Q5]@,&-'?AY,Z"Y"6/2.O#;EN::
M@IR@U;1(38TO5WD"YA;*4X@UCK Y4:$Y8QL]XXT7%P2-P8Z$OP:=*B>RQHB,
MTB#?GG";1IO+/7OAZNP99^LH%ZQV N5%/!;+VV2OR(,SSBJ<@9DJM<'SDZ6-
ME$DB7$GZQ% E%F2\U'67@HTB52D'Y7[F )^[JD[I<C(&C^@+^?E#M<1"?EZ&
MQ!I\-%MT4?EFP0@H\NR@<>DB;W-8%[^%6492U$M]B\4+G8DX+_!NN)0/E&\3
M@4Y^.A?5'BPG I S#0D!-H)*#-5RS:4K+^@;%45,=NGWL\!P2$?VV(!]:E6.
M?1 __I'O5KPA02^K(=VMK<T'<NMSD.T6OL= HZ\D&1/SE%^WBB5:6.? >'4K
M6(W5V5^43^+AEB*; 15:9FD5IM-+X\(RQV#>-$2#& FN^H?D],_(\2NK06&1
MCNVX ?\TNAP)09X\9.)IE*_C-#]D^!8_%Y]CX3*2L:J.G4)55SP5.'.Q$<_4
M^2@"R\P%7SH3AAY<D#D*-!#N:CH3R&*!%1"?I=YGQJ[-_7G&CFT"]TB7A%H]
M4@ 23<14?<U'CM MG_J8!=Y+3XB(&_MKCK>'^"+:"D9F4 U=GNIJN*)XZV.6
M.G+@;A2=.2O!65Y$._JV)@$9?8)B\LA3D@I@ .&FN)^ C&R5043D?7E(/]E%
MBU!Y'?7L7;JH\S +[4PN8 39&%9\_ES"",8 A'> "QEUJB#.*2]G= (ZZPM2
M,)>3L7?4!]\[P)UI 38:>'Z66L93 \83 C-, XP>_#_B["X=R3TK@W[A4/^X
M"OQ?O1WJCQL"31G6FXUV9AK"SSQPMS-<-QNDETLSR/_QN05(FJ:""9CT,QE\
M?KDESD5'M<(U=.F@J^&*EZV/608  W>C>,E9*5^3NV"[@FZ)L8C2D&4&/TZ+
M-4 $A(CB+@,2L54&,9'WY2$3:0/%AWO#-;2%64?#689L?,S"Q(&[<1FR;T7%
M1#].%3? !"@I"CL-FA0;95A6Y'QYR$52AD-)V!'5L8^)NJ(=,3X+WUH_HXA6
MJ[^:)<YN_T*8Q/4#D$)$"\2=QKIC&,TTF=7Q-@5-1V\>3J;C%$,\^3DVN4KC
M:/UB/%TE4=-%YX&:*XIQCN;;O2)V/(IX(E,]#GI*/QDV(%14]!N0E9P%$$.%
M7F>$IOLY+HE36[C4S7>1#YD2^E;]U_^)+\LH-DTNEF#L9]+Y:Y;FX+FPGK N
MP53"KKC+S,^73+KN1E&U-? :$D>_IR%$&_0'D%U,#\2IC@?GH'*?!GJNIB%*
M'_*9Z-N#FFDD'X$U/Z,V&<=44[R&&YFDBH#)'%[1X9B\[VJ^*"]S/7:T+C#V
MRG:?R $#',[+NQ(^MN_;@([T19YGQ:S[)")U:P^P^N1"U%;HC@PDB.:[!/2(
MV2I;B%XZ/3U&>90F7]+L(@V3"QSFF#2Y.J*31#C!R *JT28DO<9T5NM\N$A!
M0)\:*H.L!!^N\3I]Q-D+2K<_H'VMQBZ^WJ2'NX)N>P_7Z_20># F 6,D'=V)
M ZKJE#F.PGS- TR;>0;JSP(JR\S2 2*572$FO6))ABF@4N,M@U*>0!R@TIN4
M<5K%G>,J["ARA4Q4D"2&HA9)R!NWO 2M\P,EG5 ].-YL(G9@$%H_A-E]>;C0
M.LW),(22#3_O<>(5T:2]+F&8JG?DS.*U9)026U^.2O_/(<Q(F1&_?(F2,%E'
M87R>D"BZ"VD?RU81S92J'PVJ-)%H,#<V*6?D444^ T-!(XO([W$@'4T/0:,U
M?UB2\\,A"0^$J7BS\"UEAEA)I_1DGYXP_2Y133QZ2MGV_67)I-Y(;0B)1=HN
MV3ST-QNMI:Y'\UMBT83HWDR;C,48E/SJCC>( D-#X' @:\-R<:&]>"B_S<)-
M4[37I4;[_#B.TR=ZNK>@("G7G#DZNC!==9-=TQ/#C<W&6)_L<= X5;2R[BYH
MY'R<,'("\=0]M/K1SJ:7;BBTWWK/F&IM]LM%P^:DZ1&](:DQN4+,:&<>K1G@
MME(KU&=V;;R1]7>WV&MCO62.[[70?M%90[IX0:JX. K+VQI_33+RR7T2_0/3
M:X$_XP1OHR(_>U['!WKO^_&N;#W.BC!*R >WZ=ESN(L2)GZ-BT.6Y-=I').O
M_!1F_/T$<[EKZRC'[J9';*<-M#GVFZFMFKCNO@E!URJ] QS=57;1-RJ+*N'E
MH_0\5$J7@>L@F#OUS 7X&;[EDC%_'[[0?0_YY?9"<:VF5JZ)LE*YR>%18AD<
MUWXNXUJ"[^DI=.J1I-J7.BZI="6W:]8J2X<172>GAOW!$U>BTF><TJY+%%D<
MXVB\C 80&WW4S^E,)Y.@?Y0R;P5 TCI^*H(6KK!S3'[&!S),.,6/.$[9EK.S
M<DE8LAYAI--$89#.9"X!O#B8Y8-[5=,,:B<X2^X)C-CUF"NTP7ETG[ !_[ZZ
MB6+3ZGNSQ& &FW1"K_(,!:CWV0KV-Q=>+>8! X]6P,KR0RG+(-J11I7X.X*H
M-(NXPJB_V46R; 76@&06:XM,6A_S9A6#)2&8%9.,XC%'5=.Z1EUH0$_1'"S0
MUSRPG"=YF*Q_ ,UH$X?/JQ0N43HFBXR&J1<9Y!>\N\.9)%GT'W)YH7YHB6NE
M.;LSUP++$/YT%(+K?PIW^W\_K<;<Z%OYS!,2</TCP/OP5Q4CNY03@;AK87FX
M"BEE4NJ8%#EN\X@+J*L<C<X<;ZF.,<X-(VL7<#IP7Z_8/XX-Y&X2W/@2I3OM
M4KU6\=9 -J;T,$+9TN5&D47K F_81=N_)E&17]_\*JL^]+)M_%;)3N>5W+KE
M^*UUI"&41C]H1=#-0YAAQ(3\*6@ 79Z.Z)D!F^1J')MT]I<D$UUQQINS,*/K
MSKF$12JAACYBH<F\$9FU2QB%!S53I(I!_0S5#[UAA[(K4Y,?GN>#2+Y/!+E%
M?QAPO%X?=H>8+O:?XFVT%FQJ@"I(F"%2L,R2H0N7C)%Z,V&/Q$C+)%P)^D4@
M1>\KR*3N'S6QAKHJDLD\+4FX1YP<\#7>E7N=KG#&7O\A/_GE71S=LSU3M-BD
M*?,VVA&1R^T-^33?AFOZ[*8(L^*4?"/!52%NC#=$MFM\,NEM-L=N@'#0,G4P
ML>XPJ&RN4&,5=<RBUNX*U991:9INK.D:7R%F'E'[7ER?XH@EZ1S8Y(.C33_]
M0&K_&[SBH'M!DLIY@7?6 ^[ L*U@VS&\=*!MFN)5D.5;Y33 ]IU9#*[H&S6-
MF.W7'E:'7+ 94H4HM!Q.&Q]60RG7\L7#J/ +2'=BPE7ZH4^C8B>H*9TXV# #
M=@J(1GHS01M>]IWPDC;2_ISR:H2385@ ]Z.0\$IM 94!WF:"I\6-,W"'-K!Y
MU$F"XM3W;J I7:]R@\V%5Z\ N7!,C3VF?)ZG,G:514!>)Q>UP#SB!4.!"#$M
M*B?6B\:EH,T$HO=D.X/ /%K!Y9'10*I\R_2M U6=3!P@U?]THAI:$84HW1R-
MR3@&9FW-Z31FEY[1J1JR3&J#-\SIE$[75=#,TA3-+$W>FP+?,^E7$'U,8&US
M>D8 *<N3,Y4'JU,SO59[Q,IYL[I!H^:BI%EMH%W!NOI.7W/LO2[^^E#(?"$=
M?9(F;*S^6U0\G!SR(MWA3'W_[CCE?E$"5K83Y(#N'"P8F7D&A"L3@W5,0M6!
M.!2"7@054^P,0\>('A7&!Z =010P:L'B5!\?LV[IT7BV1RP]H[;&*Y71I>LB
MU@ROUIZ[+7):$;6.K*XY,[-^3,O__^V]:W/;2-(F^E=J)^)$VQ'T[$@S[YXS
MYP,C:%ER:]>V]$KJ[ICUAS<@LDAA#:+8 "A;\^NWJG A+G4%LH BK2_=%I&5
MF4 ]>:E;%A3D(9.A#N" ,R'.'S0/JFD\N6>4^?%#O3AV7U#*B\/994(J#F;I
MD)B#VYQ()'/$Q$@A?D!V).4Z_X(SE ;1U+?]#(&2>7:DZUNK%$G$S")/DNLR
MN4M(F<Z7/S*<Q$%4ZILNXM4G$F\^A<]XM>"7UGY2;]/KS:;I''JP@?$0UH(=
MN(F^.ACXBGZLR\0F1<QP4=D>50SXN5?&XAWG@1;%_<:?/-LXUQ^=77\S""E"
MIV/-4>!Y>FHUH?L)TV],O]]HW_'BM%F(4]E.-Q/:TI&H:8=Z"Q5W^#4; VE*
MX]>VGU\PVV$!BX\^Z&BD* .;T*;^;!,RZG_2HYM:]JAJUC Z/7_70(-;AC"1
M- AE;,& T?!HT: Z883)INK!(#;II#H_G?\8T$SV@FQ9]89\+UR24)!@5M/A
M_<N!Y#8O?[M@!<9O=GQ3T^\XI<-E=M%Y.7(F[*>;?99F%"4T4_X#AYLG1O.,
MDV!S&'^7Z?4^B!YPLFWO+_!/L:+_?5)LH&_RYU4@DW#OWDKE<SU3=EZP1<^<
M;W6S<+YO@_"?IW7P_GPP433Q1SMY<N2/CO4PZ8]64P^H>G^)JR!,?@^B/:8C
MQ/TV_RS5UX ,L<:"AH9, T%3A4"M:EZ$-%,MG80H,^&'?8%DE^^PI8^.-,:8
M&P9$S+""(% ,T,H$\>F&;W:$/IJ^19C/T>3;JJ!<LHSO4 _<Y3N5PVUKXH5_
ME2CEQ)T*9<V9.;#IOH"1'*G;E((7PDNJ< /D%-LB0'R@6.\C='DWI?_&R3),
MV2:*:YIPAW$:+KF/AY[YT0L"FLE1"9IX9D:NFA=NTU1+ES,G&N'53 @^T,T0
MCE?,V?IP4F4$,P&<V# #).Q$A5PFY,2#[LV.UV/G4RK71?RI<G(W,_5R,:#S
M[B(Q7LRB=Q4#7X5VK*C[:6Z)Z#G[&SVS'W@F'$5Y-ES.8A^WG]::!_CTLQJ*
M+B:3NQ+AIX9E;^6Q]8-M#7"MY%2F?_:7.6_[CC=&=0&H)@$]OJ Z72$%<3$S
M5 B:H5P4"N/B+.,,<<_"Y;TZ$5!$GY87.>HM'+4$=J*]&@,T@!_*'\WNBQXZ
M>Y=2]G^'D:8&^NV>^ GF#*;<)3$0^<YF&:;8]]#[6QRG]_(F)1Z@OX>N"SB1
MOJS[OU(/5"B"#H=K:ZJ@A^-=]C\)[^@H-3].]WC4"?T7$N<37ZTW_D@9\.L&
MJL$+<!YO+Q@H?;<1/''<,U?5IY4Z:ZU=QCA+9>95  J* +1NS!=O6+,4O0EC
MM")1%"0IR]51RE1X>]P1J8=! @:B?E"'#3_F.D!&'=LW/\)8<_GG/LQ>KN,T
M2_;LQ_0F>\+)PU,0%]]@L=DD>$/?M;DJFD^C@6U[ ]%B\":Y@5I,MJ5ND-[^
M3":!O(>;/7O#-:O?I9NRZV'1GM^E>WHG=(",&633()AE0&TQ'*00S(9$@&]R
MO)YN^HDGF'?PU,W!3$#E>J":(HAK@C*JRF%ZJM(&5>KDB[SE$O"K _4!$:\>
M5/11)APKX W7^B,F=,R\>PJ7 ;4%',BJO1C3E_FWGGYH_-!)@,]I#24JW;(1
MCWG],:+P"U 8\PJ'W(GZ4J##'!2D9[^U_(6N:<.RS>2,@4*X?,-4VF (LAA>
MT,U0 XV<]"> H"QF@6-PVCC *D\6Y<J^X.PSWC[BI.W[532EOQ?3#+4N$5?0
MN72% *4-2=O-^2/T-?]I:NM0]ARQ^- M(Q"1-X OYS<AUI=/>+6/\,V:IW3O
MVRG=/9N1*7<(TEPM3P4/IY9YT6#9I01NF)?6!<Q\J%F"J@-JSRXT4SH">('S
MVF/T6YIO8LY9H(H%N@BBY3[B_YZX<K CY),Q\-9R:Z!R&O[0P1OXY4CKP^?Z
MVRR66?A,1\K6SK,?0X7#M&7HP$G:J>#:,?;2QM89]A RYW2ERRL)_7-R/1&J
M<6S],:)W9G:\=0ZLCZ8^.*W;A*SVR^R/@,WR92^?PN QC,Q=E%WSCD,R;0[F
M?LP$PL^6]5/ S+]8L)P7M*@D1A6U+R[%$E%"!V+?RS)W8<9)[!QLM)@ X' 3
M<3V%0Z.;3=,5S=CV-SG4BSN,$&N->/.IIR8F0K]L6F]D^$\[Z5<I?!T_TR$(
M25XN]DE"_V48 LV:=4*?KAF81U +<ACJC 2;.0$#5O.2)ISZ]B!K: BMV+S;
M9,:KYB V6A.I(R+308PR$PH%RU9,JAK,4-'$XUCD%KW:V.,&OI[$FO_<!PEU
MI='+51@'\3(,HNO#FK9AX.G!HQ.%K'B &;Z%5(?QR5X+,Z]@RW=>-4!W.-U3
M'#%7<;/#B5\SVGWP)G0./;M?YB@LV(F]AK4^4QF"@W#80P,G5G!6-X.J";JN
M[_3Q-E).91G:&#JV:7@272VOG'O_TMF38AB"70GJQ&EX06 ^#%HU-RL]CK0T
M\X5.A//+<O,--NRLS%7XXW"_Y>-+;9\:WZ7FBZMT9C%"?^H2FS*?"RU3[)C=
MO-D1.N_&3>Y#'73S6OB!3KA@-I6C[5Q$/YDSK6OBQ&$>!#1F6_I>#LS9>9-<
M#H(PA%?L  G(\^7I/(1WJVGH@P>[X#?4?B+L*O4KDA2I<[RYPTL</C-=4[LE
MAJ$,.YZL/T,P;]97!8<30@-5,G-M@X3,%U%$OM,&&-%1&/I ]H_9>A^AQ7))
M]G'FS5318, *_18$9&2^JR]OL?\:IJD7-N9@KFFH.NX-[.PO\XH>'1I4JS4S
MU#3 7!9BPCR>GO+/&K435_Z8HR=36A_P&E,-5P_!CSSG85E0L:4BQ*;S5;VX
M=+('2RY@[LQ*KIN13Q\5S-R6/>=YV031-N7@A0]I#LU\<4']@"?T.[U1(/,U
M5@S%#J:'3CXXE<OU&K/]R?@Z7M*A%=7^+L@P]8JT2ZGJ-HO1_5EUW$L?5F ^
MQEZXPP%);V7,7$Y/]O/[+,CV;)<%,X:*"?="C %J<O#%!0U J- /#4.*S!G9
M<Q5[I+[:36Q(#D8=_15Q:46MC6$'*\JYR(S)XU&&'_:E'5E,:V">C";8:242
M\TH]ZTI_=A%UG.+W.,;KT'AJLB^G[IRD/2>XB1);V2YG(7OJ8C@[THO[_- L
MW\9:^:BBC2].J#\<Q7,<0W AG=NP92J9U.BGV[0VXV)6L:\>#@VF%=VEUE/P
M06\*3F\]CN\^F)9^WG!"V_(DME^%<9AAOCIZ'6<4X"%5M+9.JH_IUAPZL=R"
M Y@_,I;I9F;05KR9]['C.K]>4<R&ZY#[D$.#8G+0%T]BCR^A!^G5X3+'8<Q,
M[# L=3D&/]';/?3V"B,Z@VE\ *CI=_<[Y2V*S4P=Z_=M7Y,QC'H9/X3-]S-U
M?RS\,DC8/5#I+4[*0B7A<A&O/H31/F.+%68S^WVX="?U[;C 34/:R'4YE=]#
M#\/Y1VO.\[()OP^(-_+%*?0#FWC^L&_/2V<.;1A*)@WM=9K.$ES,Q??1P9$9
MM&?@2YNX+6UBAC@/OJ1></%X>#ZEY>@GW2<P'4^&XXOE,MGC'GMU3!MV0JV^
M(9A/T8ER&% -19LY#R-F\X+*Q_TUQF 1&KQ--\I,7,=#;-5FDD?%JX.P9RH6
M#JRMX"9 KL>AS#V8M0'+'9I]"4MQ%JY8Z*3CV'N\W"=<W<L?RVB_PBMV[H;-
M@>\SOH[=C;[J&2)(YMWP!L(<SJ4 J.-F-@I0,T/'!"6PZ;MJ7-&!+2KYYJ?[
M:IS%V;QOTU^@-B)VA,#(E/I* #D2?PKV!CZXW'*3L.1RK3_"[.DZ7H7/X6H?
M1)W2Z)I)>4CFT@W_PYB#GP,8HH[;XP$ FMF=&A@LL.%RJX,%TNL*OU/&Z,!Y
M)KJ\T+L5!U ;49Y-@$*F[LC"$#GJDPS#W\ 'EWNYW47D!=/@D3R'2RPNU\Z.
M]"V+$,+V;V[B\-_TC7 2$DJ7ZCRO QG=U1-(&7 SRG!:N7''\ H:SD4#RVU.
M5!?,4<&]X7KK O+#JLLJ)SX(0;D4Q,7XYJ5=V)-XFML-?*5SX'#B)#/DT._C
M@P>_3<@.)]G++36[;!'SJV9WV_*DKM0IFS43W4>A; 99IE\AR(TW-))I7)1?
MQVI>TLP0I^++:!6=;T['$"^R>ON&?:DHLZ_@("VOKY7J@P%+W- AI4R+6Z4[
M]X"I+1R(K^$=619\'5^59:R)&R<"H]20B[/L9#52)UFF5!_:\N*)@M$LXHQ]
M\UM05F!Q#U<O -I=QV4LPN96+DN]I_>=*3N'0#$09TF9L(7IM_<O[+]7P9**
MUVTBZ,&AY0^M. !Y/@N9SO87V.M@XM)LN<X;U/PD45YPB#7PPP7U@9C V?3L
M<[%;L6 F<B#6NDR#>_!]"CWD.P!];>="FI^=:YD :S=C09K] ^4<O-W,,(UY
M:+8WC&L?TVYX8*N&>/4!/V;M&-E]4L:^^I.AMGW@!1^K.KR5YMBBGK\/(E['
MCNRS-*.#\S#>3&PS@AXAVD_9@OB!J '==EO8;H5SQ5V^%GW*7&?^"V(_'5-O
MRCR647=.[&$V;/APAW<DR:@-+1Y3ZA>777>C)JM\CXQL,&+%C!UX):4@-9P5
M3>?%4Y24C]'7DF#J8*_K6V+7#VT;$+=H&H2*JT/H 'H^M9"^N*$^L783!AWS
M!RBLWRET8A"2^M%A&/+*PWX(TV5$4AH!I/,?YBTD?E?8 MB.!#) YVR-Q=G8
MEHR+RLK\,BT5&!16INDMM;T)&JM,3RK+'R.\)5&X?,G_:VJ&RC820Y2T 39%
MH127QJ@2:&..<C[=?,DO,U2#06&(VKY2FZ*PN<H8%?*F-,<H8C$Z7GT.DF^8
MZ5F4)^K8H(ZP,CPYX6!KD[&&-3&-%+5=*1O/B^=\$\.VI)C:H+0]2VS[H&TZ
MLC9->U%SGM)(V&7PB]NDV--ZGU'+_8RWCSCI6(F6LC(3!>5@.Y'RAC44G1BU
MI:A;SW,"M$ 5">(TZ&M.-?E(2]_5Q+I/VH8C;=2T' WO"4U'MX0N6T'G__D=
MISQR\EV%9VU;<\"Z-$Y0UD.M&5 94/.'UTOI+Z#%S8O?6/$:^N/$WL0%F(E[
M$+7\%:"4AH,#U_X(/>+-CA&F-X=EMC]PN'G*\&KQC)-@@R]_X&09IO@V"9?X
MCD31FB2L(93?'*S 4.\Z0(&I?'!OE;WPU$.U=^+/ARDU+XE108U*<L3I_9G)
MG\Y,(>(&"/"!HDMO74!BT, O<;R1ZB,ES-+K. ^\'Q.2IL"A2"$!*-8()4P<
M3 0ZP:^^.]/194R029WS!]3GOPECE#(.Z=OC]NXJY .Z;PW48/VS0!BD Y:^
MBY_F#+<CPIU^$]@RVYMF</I&>?AFA@H9,Y1+0=0MY'+8+U32JW,  .XI>(=I
M-ZQ4"M?/'#V0F\<L"../A*S8_:#%,>U4MF%P$)-.&F7'!,RUVHAUF SU4,/,
M1UHSGN=K(2'?/\\JFNVHE-3#T6LOU F]5%\,R/R0#3^QJ['7:#*#<)!.]%'!
MC36TDH(JV!_8S-!A+]2KD1AL])S02CR)N;9G?HM$XHHD:QQF%&=5-J&:[[&=
M$7$DWG2Z!%R\Z\$7L,*C3LN[T7W0H,V%2O.B43$_LR)1%"3YG2)\KL;WJ1I7
M)FDS5',(<\MA'+ F5F,\)U_!XU@D>UU6PR=[N8YI3-WS[W*3/>'DX2F(BP_Q
MA<3/.*6OW7I]/@K^$&3X*@B3WX-HS]<CKF#7D=UJ-W3BWY5V4\TRNGD??Q8<
MG+Z?DPE.AQIW5[=YFV+CY(DL<#OV'Q SI.Z-#FARU8VB(!.S+K_AZ3GCZ9>+
MW+[;D7EBF&6J7#]44Q!Q#5%&53PL8E5:SI#$_S-5$=,5<65?8\!1QP#H%;:?
M,@CX/<LH^Q[T=?,7[WR8VM@6:J!F)6SHN,M0V%21VT@]XU'1/_,X'.,-1>C*
MR;C(1F$GP=5<@=8$X'%OT+(S&HA 8PU-H+!A)!<D"EB\H??^8?I$W4K5:5T#
M3!I-Q;W+Y0DRZAFJR7SU.<[@?KI.Y]0RR=I)A2][T2'W$46ZRRH%(OV+'1TE
M;>?=\[.M]UF09"-GF3+51PXH8C7FM9]GZ!%OPIC=^,C* N=?[*034;FUN0T-
M2C0[CP\=Z8ZCA.1MC\3)6*6IN<U<QF./9*6:^^!DSEI>!L>K5_\R(9!_#@<S
M8;T12TW//1X(2Q7VP;&<CS$H;KBN7/:KGQK%''X./W5^8H/FRQ^[,+_&8H3E
M%X$P=P/EAC#_8DM-/7\VI=FH.W)(:2LPYS^<^-*+R&#<^G@)+)T[]YI<QVZ]
M\X;>^P:?EUX$JD[K&$99>JG)?/4YSN!^ND[GU)9>RN,G8&<M+$2YS" K43[&
MB$*YX]B\TU9W]"!1%S^O_CSQ[+%M*J[]N "2(SCQLB]=N_#&VWGN$?S.&5N*
M3ND,1LH7"XFO/L8)R$_3R?B8)>J*-:F(U9D:?/$E$?L1"B'TJ:,D9=!P3LNZ
M<_+\+(Q1U1==#QG9M;*(BUR";Z9E9%)&IN3(A-R;3F^3T9@*SN_C\=%.S.W#
MUB[T]N"G'4"<KJKM=-6>KQJM/$0?I9Q7A;!3RMOSQS:OX<]RFXO7FN; L;6B
MQUX\:5PO,,JYWKXV--9I7AO]QCG$:__%3L:!3C^_Y.25CL-[CEJEH::<:9V&
M5]_MN^\>O13#\3MO'V?C #Z#_'Z?.[P-0G:\Z(+$?-YD'T0/.-F";11TJ9OS
M@5,OW;P-_SW>YHB&4?W?;II\H*^^\SM,>89+%J!37CIO'X<TK.>59OCEW6PJ
MC#^G/I;]?*JA>HCK&"5B#[2XL>)V#S7'"=^]O]^I^> C&(D->+.C<L"CCLL:
M)YTZX[)*3U13%'%-7UW^<;G\T<=JI^;S_1ZYZ8J_U[8.3W$Q1T_Q4!=S6(N?
M^F(.2X7''T6Y>0&GMW/T4:EQ/NSHEI=<627DW1P#D Y\-X>E)J!W<_3Z"D?H
MI,8;9CA2WC</93A82$VOA*T?9JK="]L9&92*Y-<JO/K!28WIYW:$QYZ8YZ\S
M45K>0SA<4FXE?/IH9Z&N5S?E]='<<9RS5:AUUNX$,_$^A@@;?WK"&SSX6.@!
M''JLOX#'<4?SLK_SQ;Q%O+HLEO(>"/NI-C?&G_$W#AXC_,#_@W]D[^E;?8-:
MNP=59NAB/9 R4ZT,@:COSW(\Y.LX6?Z!4W!>K-5PMBGZ_;#.?EE;9__]>-?9
M8<T<8I4%W%B 5E5 ] )91@'\0D?O$:=?' =]%;_=(<SR=S6AI?"FC=7O@J)2
M#'WEJB&F&^+*^7E"]J?VOM"+VB?H?OV>'9.]_J<PQM<9AMLEW&$X=+108SA5
M?*M4&'6VR50;)U&F*61XH$!?&4?$61ZK?^]"&\)'"\$%Y&8KWB"NLJ7I$7H[
M>247?HADC()X+4'NRN%5@OPK?56HYL\<B*FJ(U>^J@N?%W^<= F\MG&X+4XE
M@*'SRE1E+[JM2]5X,Z_M?_H1O[&:TQG_*$7O"GFO/@4<VJ?G5/P>Z^K6'_F+
M3+(-Q%XRU!X0&\E3;P QU]6KW1_6:CO=^F&I32.]/+E='SWL#G++1S]  ^_W
M,%<"=+.'[;M['%?L0V9M^OB.VM0521B]^TD&M=Q1;CMNR/5O""+6]!AF))2:
M3W=Q8%N7>7'I&UFCWWA5@Z^, A4DQSH%W-OD1KOJ3X+F,:_[JZDPWIU_G?<^
M)I_C\RR(6FMO',XH<R3U;0RO_FQ22_G9')K?4RZR-ZU*LBW2=+^M3A[Q'18?
MPN=PA>/579"!576VE3<T%3:7-U4X,M70G]374F,G$<A*AWGY"WH)<72L,^C6
MI@,1 OJ@$\CSFXH&\?AV[WD,OF+ZE-56V\D=!4R*>JC;BVHR9X=-MY4W8G)?
MG9%C^)^Z-SK.O%-;FXJFX'F937\N'+%7R7G57!N5O"W4:/X2MCGPCJ]IW&=!
MDDU3*=?ZU::ISVBIYKQ1*_$1;\*8ET8D:Y1_\>-<I!S3,8Q2(+&?88U5%M%<
MNW&J(=I^K1/QIU;CA-R\+V,WUUT[>+-C\*=G+8?*A@:OKO287>GH)6:/VY=V
MAS#'ZDS/)Y]T<?!"Q^!#S\<L%5ZI]K-?X'0:WOK\U5M;?JY3G'!2[H.<<-:I
MIU[.IYZL]?(VQ%N^B3\+L8[>;)IXWT?7X]X4/[I+&"7V#K"FL>*OI8KC!.%>
MW^V4?.KT"]:NWNIH'.JH%R[E^BEKJ_]4@ZE3\^JC3X*=BEL_SA5]T9Z%1;SZ
MC+,G0E,SLGE9/*;\+BF7>TG5$EWL)I5)]&F/F%A'+XIE6:L[VBXQA1;S&AGU
M(31BT2CV3-OGH7)+5K2SOY9-CO7L00_[<K7+2P]@A]N\Q,*=;?12O>N)Q(6[
M,/UVE6!\30?OU ]FKD\8J.2YB EB>3Y%!)&&WL8#A;*C10.I#G/VY-V:/J)!
M('^&DM/:V*LT'U<N7X=0APY?)-J9NY>_YQ$Z^_Q,^<V:/TT7>QK&DO#?@&4;
M-?P'5TZ0\I_LM+)$(R^<M48Y-V>/53)K10WX$D"*@HK@% HSZN /<NK7 '%0
MAWLEHF .\2K?XPB=J_QB0"CWJI< =+604,+$MV,(=#)VLO_,G6R,-S1ZN]D<
MJ]72Y646,JF-6Z&/V[<:8!_PQ@<-V&!O<1 (@[R:0?HN?AKT].N,>OTFL&7@
MVV:$UR>_N@8 V)Z";SC.):Y61OD<A!&[9>:*)'PAS]$@5R8&>*S;%>/)D+>M
MF(\C7XF.8PR A:(%X^"2#JU)@C9\8\7Q)VVFIN)@7*R"I9OA<5NBBU&R^*V.
MT%<WKS)FKP191QQ6*MB@VE#JY'FYD9Y>^/E>*KO-WLTUF1=M$#XT.NGCI3W-
M#S1YM\8V=#YOI !LCF_QSB<12O*@Z2YH-/G#AX>2OS^!(-?(GZ,U&@U'\O U
MF::^_+CS>:TIN''57?0Y<\K%P,R-^ZV_AX^V[='4JT2[T0T;?-JUYAUR*:^N
M8"!8C]T7'.=DJZH&XN\DHFRB,'L9JS:U6*++ZM1MB3[M'A7KZ,6 W5K=T:O.
M"K285[5AGZN'1^JV>QB1Z]*P<I2.4!NV*=QY=5C1NQZA\R_"V15)UCC,]M2W
M.=KJI)  -.P62I@X.1?HY.%6)[F6+K-TF=1Y\>"4-CNIT ^87FO@!IM?"X1!
M9MC2=_'3I+T9<2OTF\":@4?=-2FGLMEI6M?@:.P]C6\XSO%W<T;A\$8/) NB
MZSA+PC@-EZ"UT'J(A%T;T8CT8TI5J:2O*R@F2H\P]ZI78U[]Q@_T8[Z%*B/+
M;X@T%V#PD3MX*RN#GVLU1K&3V5>E= <3L@9O>R3.Q9N$TD9A'SR+FX4>W"B@
M=?!=QUPIZT@<E-OU(>\\U%%GL;_S\L:+>%7.DSX0]M,TNT-AE '*?(<J,W'8
M&J:^%RM6D&_B,M !*%AM8LK+C2.2T&RZ6/FB+HW]>I(;4H$L'C#(P=D-;/0;
MIA=D7(3X0L<;,&L7$CG9["KE#Q36!/PGCE0=C7R[S%"CI\O0(I9I=LW@22S$
MR<T!T.<K$0CKQCNB(#VSY#U\M&^/+M?3J3FZ?>NOO7LU;1CP';MM3W@_G$JM
MZ2][TVDWNDW#7,-637(V_,,I[&:?SAE 7W(VF3,XSNO'NF\TXH2CI53X(9C7
M4XB&>O8;KHV7S4T\.VBCR4]SW7%/^W,3"Z:9T#-4P%'8L)ZB\]CY]!A+CCE9
M9**^)PZH/?*432V]^J%)<?XS.2*OAK@Z97T<^)KH[(G[<3E([ERA5TI'7/RK
M_QK1.GXF_W4JH_([&O*O2,(>NAN$"X3 C[D;0OR)+36U?-I]H]1PI+C1%EPK
MXLE9I.@K(T$%S;%>*V=F#VY\MP1]SCQU39XCQ]QYH^-UPY(=-[6776PV"3]W
M[/3\T6 ]W&[---'#SUV9>LV].[XT]$TFV)!IJ%M[+R9MT=F,>=P19K@=N]]P
M:6<2H^RUU*LTPC9+T^]RS([.FZ-4@]_"6R\'?.CJ]X.KO*RY2O9S:QZFTNFT
MSF2=CDMU-,M\_#[U%,]YN=[-;BMVM &")WO?314]PO1_M#WR5JJ8'K3BJYK'
MOL/6VOI&C4&NM]J;:C!N@/%H8[Z-LD>4DH^W>]].EXD2[E/8'7PLCFRRW'E:
M3^9W9IS*WI3_YX$J2-_RECJ)+\$6?R#;((QML^ !(DPSWEXB7 >8'DJ-NK;9
M7[]!8:.OV/GEG_LP>\F=/?J:/_%]-7,(]FW<]$"L67KD'M*LO&_OM_'-T>;A
M@BI[32$49^$S9EJGMR0*ER]&?M2(@])-:C@X\8)*F>Z=G(EX>Q^FY]I(8G<Y
M;E,?/909JK0.R+B;3?R+DIG>?1CH,K%W2&^#<'5%DH?@QQ]A]O1$(I8HTA_$
M+R1R#SU9U/V#-0L(!V$IU%55^7YJ:#U%'[;S.TS5I!E-^L2'L%6]T("%N)2/
M75=XC9.$NI+\R3X.LY09 O4LZ/M!$,J"'SCU;&*N+U+;/F< <@1.QY);Q^OT
MTF8B X*=E.JI@ O;:4T659- A_QQ5NY\Y"QQM.*WEU,1J"8#W3Q&X89S_;GM
M134O,X'!3#M?PJ9OJ .^3<AJO\S^"!BHLA=QPFY"6X9>->U0%Z'B#K\Z9B!-
M:??:]O/RMXD-TZB#28]^:%F:JEG#I/3\72,)+JJ82!H$(Q8G"AI4$*&2:H:*
MK_NU^/\#_I&A]]2U?)MZ2@D<=#+_#H:ZJ3UVQJ:#/E$9T?_<)V&Z"I<LEGS&
MHBT;9M0'KZVF'FYM*OXN/+>!/(W1:3G,.1'ZFO\TO3D9=3CIU2L=BU(U;-F4
M7H9[=$%Z<Q-9 Z%U5F*+C8XY':H3GC3DY%X<$'/3>W(V?+M97X5Q$"_#(+HE
M:<CG]1[3+ F6F<B=&S:I^W1M$PC3TP@!G08WEZ<U01,V\XN;+_<WGZX_+!XN
M/Z#WBT^++Q>7Z/[7R\N'>_2U)/7!#DW!T39&B\X3&*2F=<<JC:1Y89G7\9)L
MF1=AP_8$/]&1>_B,BU^U1FK3NFNO9JWA3-=$GB,KMA!M:-#&')NV??] __?Y
M\@NUZYLK=''S^?;N\M?++_?7OU^B3S?W7EJ[%<K$AF_;]5(?8,)(X@[,=?#
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
MJ&MXC@Q]ZF!P6QV!N]72E="7TPV!OHPK&/0U J305[9K0=\#GZWO1F+QQ5O
MES6I@*_F.2[P#R6;XM5_[H,H7+^$\6:Q7+)Z>>EA-]\GR26IO=MWBJ<9MQ]@
M0-;2H RKKV"9P?7C5[NX@$WQ'!JBLB4Z-/7HVM7^(", _2XKDF;(JC3[GCKX
MZ0Y$=T[V:FOI!H;=2FG]AF.;O^Z^RGZ\+,W>AULL^V')TMHU=UQ:L;&U<L ;
M,%.\_.N&//]W+B)YR8V\^(/;.+?NXH?_NEBTC.+P0[GI=]';P Y"P(Z?=5B*
M[*)%-+\(XF 5>#+E6OO 1/:)6MMP%PQ.;4J0/AE\0*G+3M\A9[1'%E\6'Q;^
M=H3D/(VH)P#.L=B9+/NHC2X]_%!>2'L_&!Z_W4,$NPXW%3@*HOEO,;^$AX^+
M?%DGJ7UB(OM(K>MD[^M0*2FAD++"(4?)G_]@_WR7_Y.CA/[Y7Q?D&2>2H]+"
M9]7YCL:SGA#J: "!)!E3$:#$M'/^DS>G"L7]0#2?KWT^HT;&X"9I.P[J/I#E
MGLUCL"L46Y 0/2I>I?EH .3JC* 0)^ I UR'=%[^PJ_IG!9LPN]/U-^M";4Z
M58FT;LMQ@;:(8YI2Y\O#$L")2%K :Y(  +#.$!J( MXZ0'::'("9/RJ6X_U
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
M6'U&\#0T^ZR8H9P;HNP0XX>:#&>HP1)5/!%G.BMW?[S:IQG0CL1 !Z;><(H
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
M&P!(,?,O:2U>"E"*&L,B'"P7::0-MH7.@I+ &'Q<9(+&HLDR%!08!R8QIF(
M<QD;D8,A23.;ZX\//P/H),F-$]#!WL&U3"Y(0@?0>8E@46JC(BEOX!*2#+HV
M1\ 1/%51")'?FB-K,_]R<8=JCV;L+HKGD.Q3FGI\B\GW& 4I^E)ZYXL@?4)W
M>!.RO8IYVA&7FQMCE))U1@<#>,:NK4AY-K+))S ._KPVE_(<\C7(%#_S*S+H
M+VN<IKF@%"?/X;+(37"$EUE"XG!93<%,??>7"EW$$ VMNWL$U(>K>Z2L7, 5
MZ-HO!7=KH)YUD.J)@QZ$!-F=7WV@,/3&+PE;R N_%"*L 7%^DH"0W>O5!Q"@
M$?=^&=*8Q+9MLAB?"D.NDJ9X(0G-$.0*68)'7944*7CEC>:'1WS(D^9#^.\D
MB58HPL&*=G 8(\RRJRP(XV+7RII&6AHR5R]QP&[CWK"6,Y2^I.P^!!XKJ\#)
MUB&601K&9(;H:)_R>:&4A.]XR8?Y,T1B^IZX'/7SYFQ5(F479K'@/7&450.*
MF/9_TY:$Y)4Q*9@YP2A,J%6RMT?GF0">?CC7@8B0Q-N>D!@8<:5\ 4.N4H8]
M,&C0O7BBW@A]HH+0?>EJ3@(;DM#;$QNP&P3^W(?9RX(.K5;I'SC</+']"6S0
MM,%W>$O[@[KJ"Q)G"27>!]$#3K:+QY3_V=X^,)Q3N;E@"*=!:VC]!0,NV@Y7
M0K[T-I3W/.> <A8S5#)Y5W!!%1M4XX,8(_2U9#6Q,4, E0 CIK4$V)_K88%P
ML&836A+D6O5P35R9$PUY!W-Y-1$-%+PS$6=Q>+'9)'@39/B:G8^+TW#Y.ZO=
M8Q!W#5L*XJRV)90WT AR$T<-A1H9NA&O=IRL&J&J%>+-O#1Y4QB)3-RF?^4F
MK>$B-&$SR2/BV%$4,Y0,!68:I5[1:Q>0'*'70<"YCEFUP? 9WU*LT(_]'XMX
M)7QR]@_AO.Q +HU U(/+<&.V%@J_ WV0'AHK[\=V?I^1Y3=6]2\G03M*PXY$
MALNG8G45YX<^.709GO$/O-PS6AKLON$7A+>[B+Q@]N<J3/"2PC*?1"Z6;UD5
MP*FWFP_$+H$#DLB56#-LN96>"DUD4I Y7V\%7!C3(1>LB!"C0HP!MPC9X[-_
M>#+[Z8&A*%/&22P%))7L)1D\K>RMA0M[H>DFMPRQ53![X98A?OQJ+^H5APGM
M!7;+P%.0X/=!BE<79+O#<9J?I61G(#:\"L/[EP/);?#"?N)I=JEF66,QY:6(
M'IZ"^&;'6*27/W"R#%.<7L?Y68K6Q-!'=LSB TW3KX(PX1EZ>Z>"AZJ5&R2\
M4FW0^J9';P*_'<2_EY,OY_JF*S]P^[T@14&Q*K6F-$4!]*"J>+EA'/+"+*PJ
M.E?H'2M@OLK'-<6H)S^]DCVQ3:A\6/1F'X?96T2XG@41/P+S'2?LL&^N]PJM
M]DE9!#0_O3;UEA>/^JJ[=NZ1<HH-/AYI>=@HX)%2 -N9/'L;H%U4'K[5T3AU
MMF>,R2N<<UTI5-.*W3=1IRLTR]=@9H<10Z4=NCFX]D)!5F>H4)$78N!*'K8Y
MH'*; U<4,4T14S6?#7]U[T?CWF6[]3Q2TUO_/G1OHF>O [DETL-7.QHOSRZ5
MJ'+G-]3YKD@4!4G*DF>4,DW>OCK8HW&PLBVO'JGIK8,]FJFR79@?#&KOGIIT
MDLQ>J1&FQVR4\C6XFK_#44V)6;_6)!'54LOY'Z-/@;'] /D. 5Z#CHDO-@9P
M%XB>J-@HV#'>^WC%^5$7C)-MI<V.K_!L$LP_UM3; _SHS5$#?3\+'R_"F^LW
M2FRW_5RGX=C]GQ"S?Y\C<.DC3X)5RKU.?IV$LYY@PNNHO;7'DUQV+W(DTUOV
M+W4$/IM/:=$F/^&$UDDXS0DFL8[::8).7'W*"XL(CQT(GQ6=U'HVQ(LW6(%/
M:HBX2YU:EWA^AY]Q3'' [R%*@ZBZ9C;9!A$B\;N(%6 Y%& M*K6@7<*O-4K9
M/[9!$D;\ F)UJ4S&):3)(KNE*5R% ;^V[\U?KC\^_.4M>SAC+ )$=4AQDA>\
MSV8MN7DIF:)*6UB4D7FFK,@^K8B"W2X*ESGF)IX $(.,Z+#1]!4-LLID!8U!
M<0HS1A.R-4<H';$4OWFR+]>R0R4ILV&/#DP@._P \S@A;_-^/3_R?I5$=<-^
M!8UQ5X2LBE(W!V<KC'@&E.5%BBK*09<NR1F#QT:]+/F=29JF\KB)WM_\NOAO
M""])'JIFQ7PVC5B/O)@YHXG8I;09VN 8%[4!V1QV2(/F#"TCLE\5$R]EP=)&
M1.-Q-,&,QPK1G&S%*6@X9L%S'X=_4K52$NUSOO3'/2_'CA'9%=+2XGI$^I)E
MP5)&2T<73+G'8/GM'5F_>Z(AM=&(/J==FP5[EK?E:G 614FW&NG4-Q(:X)S8
M ;)UQY.\T>$*)QUCAV8$=-F?7DA? V)7]3'H%"3U+-&/<  ((=D5>L,Q-/0"
M/#5WR/OM])+Z(NG\)T*2[,:YX4@"34@>:'Q(Z3_*^GL?$[+?"1,2 \KB5964
M0XQ P1@\(='+DEJ!KFDS(>&S-BPA2?<L<<"U4_/;X)$E*WN67A0!GX_EJP*K
MRR#FM:2HL/ YS,(\LUGN4YI%L %_T>B0"?!F3R3=A5D0A=G+C&80\3=>OS7!
M61"RG(;7><UO;RY*NV[(,T[RLK%\=B&,BL<INZHY*FLF;X/D&YY\&=\$I\0.
M4$T35C2J3%C+V*$9P"04!D+Z&@!-*#C%8ID=ZGYR&D_" ""$) D% (8&)A0:
M[H )A8&DOD@Z_XF0)$DH ) $FE#<L@"5X!_"'$+\L'BA]L,AZ&[R D\.A.RE
M(!902^8D'FE'L<LUJQG[[T7A'7X;[ JGWS*RR^<4Z, ?;<D^YEO^Z _/^"E<
M1KCZ[3&B%/_]^U.8X6J)H&++,XK'EUJF0*%"LTS.:<?N<V,Q?AWB:#5#*0Y3
M5B">/5NQ2UR>Z#="WW$4H5421A$O(A]D09EMR-*#,%Y1<<G4U\!),$BTR&G:
M79.N,C51<U@@PX1W,5\+")^Q.SOS'SWQM=8=*XG-QCT[, )W&0(&73%SB_X]
M/_[^E41,X_X%C8L7?%BUB%<?^:!*&!Z5-,5+2&B& %'($CQFJJ1(<2EOI%D-
MS\(E'8NV(AX-4(W+2F>(%;8CU5IT.;%?7)7>N,:TNN"TN/R4\BV$4+D)'3TO
M<;C+V) [S7"P8KJ$:;K/KTT-V4I 5@RMTS* 8U;H\9O@RE3^8FE^@0O+ ":.
MF&I8$E,4-:U02%X9HX*9$Z3#!%4E>WN,TQ![<9B,R9]ZXHL'0D(2>7MB8F <
MEO(%#,=*&?;(.#]99$AB=D]DP(YL2;K(EV?9;KMX]3Z?.14/=$UHRW&OFG90
MBJEB#3\J-I FST"UC341OQGJ#UO=Z#"WOA+^)HR7T9Y?%KIFV^56O.H_G_9F
M%Y>4?_ZYI[&=KY;C]IPY8MP>HS!]XGLHWR(.(BH3ASR(TT#/AL'+)[S\1O8T
MZO,1><*R!+:4SY(0'*W?E2OQWT*2?N,#\#RIJ#()?ND:7P9@;T7_R)_3D33]
M\CAA6^\0[^RI9]S-P$YL,=G*VE7-#DF\GKE3>P(:G)N(Z6]);.A^<X\.1!SA
M!9DG80084[*A/@RHADX$Z/A#S@N8R.H/K?,.M$X23K*9!1@XP2[PT^AXL[Y*
M,/X<L  9!_0C_;8C,3L[$&&FP\WZOMB[QHX&!%'4B/#E\O]0/N7F@/Y\!BUW
M]14+O[%@H";RM;)!C.=YO9(\=2F6!?)<Y)GMW*=<T?; %NTI7[ZS/V?,$K'+
MV^N+RR\/=XM/?!*DY#YCTRZ_W,;_BC_''Q[B7^G_[G^IUC18DH-_!(S/C%*=
M_>L_/I_]_<,O5/*.=B<_KYKO8&!WR=(<:TW?E DC-'5[P4%".;!BT%L29T_%
MM U-L2@ICM$J>)DZ-1IN-002P*VEP[XL#PN+PY2:S*"!MD@,5<&-*;/M%>QN
M.6HE)F9;[5NN&^VKU2CV;DQK-D/W?0R1#;DK9*@>;HSG_-5X8(Q'MEUE6N.!
M7=(KKHK\(\R>+HJ4J9BCNL-+LHG#?^-5>XG/IDVYY&?69M <N(D(^"5!"ZGR
M27)C)O,%WQS#[#8IIA*3BJ(ZI4-Q1AZC<'- '=L]M6:K<VSO.LU7RYD[^JS*
ME _%L-B47;@JSPKQN<J*BI7$>F2I:9%8<W9ABE;[R=?XK'!)^L*F-:MOTOPP
MRV\N;!13 %HSM!$WW C8FF)!FQ\L*ZEGJ)Q>/S0X:4C*UB#=8'+H&J6I',@U
M2QN9PY%Y?EC@27X.!,K6.MT@T'GJ\RD,'D.V0'9%DO*WVP3O\@(DZ<4^2>C_
M#?(A.T:*),F4$;1EFLD=)9VR4L7*B"TXUQ*O'JE5+3&K?ML=!$E3+UFRE?_)
MCE:Q ]Q!FH;KD&VB3BE[KK.'J9BE2:A<D3TX]>[)C*?29]FH-9V]NLOY['1P
M9*F*[+!BPNVM_!W5^,Q0P>G5?%2WWD]N/PY247/A9OGI/W,#BOG]Z"NK#-5.
M%4=VQ/;GU4+5NY+DU3(RR\1W5,MPGB(OTA1GE3Y?L$DV+&VC2'P%;:!-OB-B
ME'16)M7*CL5,BB1UAH(UVZT71!'YSJ?]^3Z\!*_"#$4DI6&.S1_R:O=O L;I
M+<],&ZEG&"/\8_G$3_:SYIWTMLA[DU9:^_V)I:N<-TU4*4\JE/)CJ6N,4DK"
MM@]NZN7Y=U2%(*\?D(5;7"R T_^+,NXW4?G2;P=/;)Y2=BTW,96_4UJ WK-U
MFBN=F$38*%;M+NF5BAMNSXI4EM.C-U6+MS,48P^S5D!86N2B +ATD&$*Y=A-
M=I(LB*Q22:G,X>BD"2+[LLL2H3R0I <''>)TXEK1C@%ID0(" !*V3C&K>8MO
M\@)Z\>83#E)\SVKW\-K+0?0A3)<T4=@GF"6<0?IT13.)](&%Q ?\(WM/97UK
MP1Z295D5&83EH(JF !J )Y6 2LD+J$+)F-/?]E&0H%75HBH45?"BJ6:^E9(O
M-I/\DJ64OG]^.0BK!D4%H#63T%CB+K5#$5-OZGV2H 9 ' &P53X6@/NAZBR8
MJCY8+% U:D!MG-LJJWW-6<U0Q0QQ;C-4YX<.#/.)5&:=G"?ZRKDBQA9QOE-7
M6?;9)F6UNGTTRJ&5P8'4@"PH#JB2<]/,#TN75L:,KF6A$T_+>FUGLMKI/MJ9
M\RR?_X?M/UW$*Z84FV*[HQF5=6YOQTB1T9LR@O8_9G)'R=ZM5+%R-A:<)9EZ
M/3FO)=_\UA3\2]K)PME9J?)T^O?VA:Z<A->HR4NQ%1HARF'JW:, &%<Y+GNT
MZ;V5&4^EC[)1:SH#=)>,V^G@R/14B3?_'S]RP"VF9(08IZ-(MR>Q(8O4>E0C
M<I!&FPMWG#S;*>+(E&BBO%CE*XYTH'I=BUUWA]CE:\8\B:E89,>CF@IH)OR%
M9&PK<;&JRZ^-PRD7W#(S/6'QF52$0TQ<SA<\$]6*DMJHIF6U:KGGD[OY4Y[C
MH>53D&RH%>[C%<XG>F/*J[;BCH)-@OF@:>)\T  )Q*K/FO8E;U/9CXZM.YC!
MY%MZ&3T!1O,E1H#N:OLT2AJ>&)T(<B19S&#H#,Q"U,P!LPR]H)X HEG"==TM
MG0A>)*%\,%Y&",77\9)LS8)QDU09CDM2>+3GG$<*R0UAEI"OM:T=88E)?)BW
MJ2)TR&GS\[ZML.QE,&XA06TDW1XSL9*\E<9.ZJQ=0LUE6&Y*Z0TR96C.R4X(
M258!VA)*3H+T@;WS,-T4U1M0]5 =GAI^K *V)7Y@[_P-EGPOVG7\:[!=X9@.
M\&*\S,+E/A/6#C:F+^__U=,/NGE2QQX\D)M*E%]#:<1@_L!*W?'+Z5]^85?5
M8/J<%9,CZS6_2(I?L5>4&6:_5(5^PQCEC&>HQGKJBW2-84/Z]&SK&DM=T\-E
MEF9"G",4Z)I=4U'#L,FNW"WH)&#SI*ZJ(]#)KN&%15TW2QC@Y6GP2-C\[ ><
M__\Z;D[>WK'5W)OU;RGF.Y1;..[9NO@\UJV'6)NE,/#HT$^^U![[L*L-!L.B
M.7JS*AB\91;;6MC/SW2QB]K9->U\L__$T:(OX,AP%#1MVI)19>&]%!@9]S Q
MIZ=@2,2?L8%$"?0/=:"WUMS171WHO/U/AW-)\!H1Z .'OSTD HZ(>TJ'A/MY
M'>X-OU[WX^^"GQ+>DG'WB/"N1N?U;_^)_HO^6/Y$__-(6\__+U!+ P04
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
M>I<^XF^)" 1C*A8$NE2. X KD$KW=YDTG>_Z]F!/@'*R<Y?>I_@EJO)<<Q'
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
M^\4%*Q??<]2\I >Y 0EG;7A3PX9R^2]7C-6N^&1%A\$1* KR-!66/.W$49V
M=4^A-4M#\:PNO59V7^K_&>51&,2GI\M.3Y>=GBX[/5UV>KKL]'39Z>DR>Q/
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
M00^(T*IJ-![^^5?.V/J)N.<R*'>[B_$;(OX[)\(3T:M'U :P E(W&8]EU-X
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
MFD=#K>)XH#;BRID?>U2H0@R!2@"'F*VAV8Q'X5^-XSP/8AK*<@H/U3Z19(Q
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
M4&LP([I\*6.O!N?5Y?;B)9G&7P=1^DL0%VB&X]AY6S=UM)NK=>\;1@YBQT'
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
MSW'KP44\GZU)>R>"FLE#$=D#'D<+;Y&N#H/Q00MJH/_UV(&NB6U-.!\Q@JV
MML7IWS1PBO,@=ANG7Y)5O66.5E>O(2%EOB,UB0<$P7P>QP5GH*YFQ#:_!370
M_^[A'0R.K*!=^[>![KE4WB$1)N\TK''KJ-'TCZ,[=9MP]J,6%"AC;7+E:SL$
M]R*(PX]M8^:I\-]%D!+)X[<ER@KB5.[6M;YQDGU)@F(5$9=H/22X;>5UE 1)
M& 5Q]_$#XKICG!7C=[%J%Z=9NL:G<NG3S5%_;H[J0F.&>Z2*37F/MTH_I3C+
M[E.\CH8FSOC2I(?L?O$19WS1)N.GQ]J=7$[*N+A%^4U"AC2T(/(,D,'\5BMP
M\,U'=(C$FXR/ 7/]4[(7E#YA![:G1J^V!UD4GB6K2_I.)5H!W]:6E.(\KLTM
MY9@Z(,)#1'7HO519AS%>.V:)V;<G8"6LMXMKYAZ/Q$.):J$EV!E0<=#34OF,
M'[:HQA#4LO<\CG?"R*?GE2>/B>!J9W^YN/Y"__,49.A__O]02P$"% ,4
M" !<=WA419,>B]0#  "*#P  "@              @ $     97@R,U\Q+FAT
M;5!+ 0(4 Q0    ( %QW>%2&!>5ED0D   0\   *              "  ?P#
M  !E>#,Q7S$N:'1M4$L! A0#%     @ 7'=X5#[A_6&-"0  'SL   H
M         ( !M0T  &5X,S%?,BYH=&U02P$"% ,4    " !<=WA4,]CE[*0%
M  #V(0  "               @ %J%P  97@S,BYH=&U02P$"% ,4    " !<
M=WA4S%3/.K E   +W@  #P              @ $T'0  97AH:6)I=#$P,3 N
M:'1M4$L! A0#%     @ 7'=X5,SO_5:"#   NT<   \              ( !
M$4,  &5X:&EB:70Q,#$Q+FAT;5!+ 0(4 Q0    ( %QW>%2\RFY^\I\" %3X
M'P /              "  <!/  !F;W)M,3!K,C R,2YH=&U02P$"% ,4
M" !<=WA4@F=';%:Q 0"[$@( "@              @ '?[P( :6UA9V4P+FIP
M9U!+ 0(4 Q0    ( %QW>%34&5-^#A(  &;,   1              "  5VA
M! !T86-T+3(P,C$Q,C,Q+GAS9%!+ 0(4 Q0    ( %QW>%0L3V2*KA@  .5W
M 0 5              "  9JS! !T86-T+3(P,C$Q,C,Q7V-A;"YX;6Q02P$"
M% ,4    " !<=WA4S",/(F1"  !+?P0 %0              @ %[S 0 =&%C
M="TR,#(Q,3(S,5]D968N>&UL4$L! A0#%     @ 7'=X5(M(XRE7W0  $7D-
M !4              ( !$@\% '1A8W0M,C R,3$R,S%?;&%B+GAM;%!+ 0(4
M Q0    ( %QW>%3A(SO:_W   +0-"  5              "  9SL!0!T86-T
G+3(P,C$Q,C,Q7W!R92YX;6Q02P4&      T #0 8 P  SET&

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